Описание тега listiterator

Итератор для списков, который позволяет программисту перемещаться по списку в любом направлении, изменять список во время итерации и получать текущую позицию итератора в списке. ListIterator не имеет текущего элемента; его позиция курсора всегда находится между элементом, который будет возвращен вызовом previous(), и элементом, который будет возвращен вызовом next(). В списке длины n имеется n+1 допустимое значение индекса от 0 до n включительно.
2 ответа

Обратный упорядоченный список с использованием предыдущего итератора

Я хочу начать в конце списка и повторить его, используя предыдущий метод ListIterators public void add(E obj) { ListIterator <E> iter = theList.listIterator(); while (iter.hasNext()) { if (obj.compareTo(iter.next()) < 0) { iter.previous(); …
22 окт '13 в 01:56
1 ответ

Не повторяйте элемент ListIterator, если впоследствии используются next() и previous()

Когда вы используете next(), а затем previous() сразу после ListIterator, чтобы вернуть тот же элемент списка, как я могу сделать так, чтобы, если я буду использовать один за другим, он пропустил текущий элемент и перешел к следующему? Я пытаюсь исп…
12 июл '17 в 16:29
1 ответ

Добавление элементов в HashMap во время цикла с помощью Iterator

У меня есть программа, которая проходит через HashMap, используя Iterator, и внутри цикла я добавляю в HashMap, что вызывает исключение ConcurrentModificationException. Я видел, что ListIterator имеет функцию add(), которая обрабатывает это, а Itera…
01 мар '15 в 20:28
2 ответа

Изменяется ли iterator.next, если базовый список изменяется с помощью метода добавления LinkedList?

intLinkList = 2, 4, 6, 8, 10 Iterator itr = intLinkList.iterator() Скажем, итератор выполняет итерацию и в данный момент указывает на целое число 6. itr current item = 6 itr previous item = 4 itr next item = 8 Когда itr в данный момент указывает на …
10 окт '18 в 09:07
3 ответа

Как изменить объекты в списке<? расширяет MyObject> во время итерации?

Я пытаюсь изменить поле в выбранных объектах в списке, но я не могу найти способ сделать это, используя простой итератор, потому что он не имеет set() метод. Я пытался использовать ArrayListIterator, который обеспечивает set() метод, но это вызывает…
11 янв '19 в 07:36
1 ответ

Безопасно ли добавлять элементы в связанный список во время итерации?

Безопасно ли добавлять элементы в LinkedList во время итерации? class Worker { final LinkedList&lt;Foo&gt; worklist = new LinkedList&lt;&gt;(); public void work() { Iterator&lt;Foo&gt; iterator = worklist.iterator(); while (iterator.hasNext()) { Foo…
06 окт '15 в 12:44
1 ответ

Справка по программе Palindrome: LinkedList объектов, которые содержат массивы двойников.

Надеюсь, мой титул объясняет, что я пытаюсь сделать. Я создал LinkedList: private LinkedList&lt;MyVector&gt; list = new LinkedList(); Затем я добавил в список, используя конструктор класса Palindrome, который я создал: //creates arrays of doubles in…
14 ноя '13 в 22:29
3 ответа

Два потока читают один и тот же список, но с разных концов

У меня есть список, мне нужно пройти по списку двумя потоками. Одно чтение сверху донизу, а другое снизу вверх. И когда они пересекаются, чтение должно прекратиться. Для перебора списка я могу использовать ListIterator, но я не могу думать, как эти …
12 июл '17 в 09:19
1 ответ

Когда listIterator используется в качестве ссылочного типа, объект, назначенный ему, должен его реализовать?

Для ссылочной переменной, тип которой является интерфейсом, объект, который вы ей назначаете, должен реализовывать интерфейс. Как это относится к интерфейсу List Iterator, которому назначается объект, принадлежащий к классу, который его не реализует…
28 авг '15 в 07:37
2 ответа

Как сравнить (порядок) двух двунаправленных итераторов?

Мне было интересно, есть ли встроенный в C++ способ сравнения порядка двух двунаправленных итераторов. Например, у меня есть функция Sum для вычисления суммы между двумя итераторами в одном и том же списке: double Sum(std::list::const_iterator Start…
29 июн '15 в 17:33
3 ответа

Ограничение remove_if только в части списка C++

У меня есть C++11 список сложных элементов, которые определены структурой node_info, node_info элемент, в частности, содержит поле time и вставляется в список упорядоченным образом в соответствии с его time значение поля. То есть список содержит раз…
12 авг '18 в 11:20
2 ответа

Python: как вызвать позицию после перерыва из итерации по началу, остановке, пошаговому циклу

Я узнаю об итераторах и о том, как их использовать, и в процессе поставил вопрос. Можно ли вспомнить, где цикл прервался во время итерации (если цикл должен иметь условие разрыва, которое было выполнено), а затем забрать из вызванного места? Пример …
22 авг '18 в 20:21
1 ответ

Почему iterator.forEachRemaining не удаляет элемент в лямбде-приемнике?

Давайте посмотрим на этот пример: public class ListIteratorTest { public static void main(String[] args) { List&lt;String&gt; list = new ArrayList&lt;&gt;(); list.add("element1"); list.add("element2"); list.add("element3"); list.add("element4"); Lis…
23 мар '15 в 12:42
1 ответ

ListIterator поменять местами текущий и следующий

Мне нужно поменять узел и node.getNext() в ListIterator "nodeListIterator", и я пытался в течение нескольких часов if (node instanceof LdcInsnNode &amp;&amp; (node.getNext() instanceof FieldInsnNode &amp;&amp; node.getNext().getOpcode() == Opcodes.G…
12 апр '16 в 03:03
2 ответа

Является ли дублирование ArrayList или использование ListIterator быстрее при попытке манипулировать ArrayList?

У меня есть несколько ArrayListс большим количеством данных, и мне нужно быстро и эффективно манипулировать данными. Мой код в настоящее время делает копию оригинала ArrayList чтобы я мог внести изменения (избегая ConcurrentModificationException). Э…
01 дек '15 в 15:59
1 ответ

Удалить элемент из ArrayList, используя ListIterator в цикле внутри цикла

Мое требование - удалить из ArrayList следующим образом: ArrayList&lt;User&gt; user = new ArrayList&lt;User&gt;(); ListIterator&lt;User&gt; outerIterator = null; ListIterator&lt;User&gt; innerIterator = null; User outer = null; User inner = null; fo…
1 ответ

java.util.ConcurrentModificationException в моем коде iter.remove() & iter.add()

У меня есть этот кусок кода в моем классе, и он бросает исключение java.util.ConcurrentModificationException по жирным линиям (обозначено ** **) public void solve() { **puzzleSolve(set.size(), sequence , set);** } //private helper method protected v…
0 ответов

Исключение с ListIterator в Java

Я получаю это исключение в моей программе: Exception in thread "main" java.util.ConcurrentModificationException at java.util.LinkedList$ListItr.checkForComodification(Unknown Source) at java.util.LinkedList$ListItr.next(Unknown Source) at fenn20.Car…
24 ноя '15 в 08:07
1 ответ

Гейл-Шепли Реализация многомерного массива

Я реализую алгоритм Гейла-Шепли, чтобы соответствовать пассажирам и такси. Пока что у меня есть единственная структура предпочтений (расстояние), чтобы отклонить или сохранить текущее соответствие. Все, кажется, хорошо, и я думаю, что я близок к реш…
3 ответа

Проблемы с listiterator удалить Java

Я пытаюсь обработать проблему Джозефуса в структуре данных arrayList, и задача состоит в том, чтобы использовать ListIterator. Я застреваю на удалении части. Допустим, у меня есть следующие 10 солдат - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 И я должен наступ…
01 апр '16 в 06:16