2

複数の反復子をマージする反復子の実装はありますか?

class MergedIterator<T> implements Iterator<T>
{
     MergedIterator(Iterator<T>... iters)
     ....
}

そして、次のメソッドはiters[1]when!iters[0].hasNext()などに進む必要があります

4

3 に答える 3

11

私はそれを ConcatenatedIterator と呼んでいます - MergedIterator は、ソートに基づいて、複数のイテレータの結果をマージする必要があります

名前はさておき、サードパーティのライブラリのどこかに実装があると確信しています。Google コレクションを確認するためにすぐに...

編集: ビンゴ - Iterators.concat

于 2008-11-20T13:54:14.347 に答える
3

コモンズ コレクションの IteratorChain

于 2008-11-20T13:55:32.130 に答える
1

groovy には 1 つあります: http://groovy.codehaus.org/Iterator+Tricks - 数行のコードを追加するだけで、おそらくこのようにまとめることができます。

于 2008-11-20T13:59:55.163 に答える