Re: clone iterator
От: vsb Казахстан  
Дата: 22.01.15 13:34
Оценка:
Здравствуйте, Hard_Club, Вы писали:

H_C>Есть задача, когда нужно последоватльно идти по елементам коллекции и сравнивать "хвост" от элемента до конца коллекции.


H_C>Как в java клонировать итератор, чтобы одним идти по элементам, а за счет его клонов анализировать "хвост"?


Iterator никак.

ListIterator можно так:

        List<Integer> list = ...;
        ListIterator<Integer> i = list.listIterator();
        while (i.hasNext()) {
            Integer x = i.next();
            ListIterator<Integer> j = list.listIterator(i.nextIndex());
            while (j.hasNext()) {
                Integer y = j.next();
            }
        }


но для LinkedList это будет не очень быстро. Быстрей вроде никак.

Лучше всего скопировать нужную коллекцию в массив и использовать обычные индексы.
Отредактировано 22.01.2015 13:34 vsb . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.