есть ли объединенная реализация итератора? - PullRequest
2 голосов
/ 20 ноября 2008

Есть ли реализация Итератора, которая объединяет несколько итераторов?

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

И следующий метод должен перейти к iters[1], когда !iters[0].hasNext() и т. Д.

Ответы [ 3 ]

11 голосов
/ 20 ноября 2008

Я бы назвал это ConcatenatedIterator сам - MergedIterator должен объединить результаты нескольких итераторов, например. на основе сортировки

Если оставить в стороне имена, я уверен, что где-то будет реализация в сторонней библиотеке. Просто проверить коллекции Google ...

РЕДАКТИРОВАТЬ: Бинго - Iterators.concat

3 голосов
/ 20 ноября 2008

Commons Collections IteratorChain

1 голос
/ 20 ноября 2008

есть один в groovy: http://groovy.codehaus.org/Iterator+Tricks - вы, вероятно, можете свернуть его таким образом, добавив еще несколько строк кода.

...