Удаление элементов из LinkedList с помощью цикла for значительно замедляется, чем удаление с помощью итератора.JAVA

Программисты JAVA общаются здесь
Anonymous
Удаление элементов из LinkedList с помощью цикла for значительно замедляется, чем удаление с помощью итератора.

Сообщение Anonymous »

У меня есть связанный список целых чисел, содержащий элементы от 0 до 100000.
Я попробовал удалить элементы из дальнего конца списка, используя итератор и традиционный цикл for. Я обнаружил, что итератор работает намного быстрее, чем цикл for, примерно в 500 раз быстрее. Я предполагаю, что причина, по которой цикл for значительно медленнее, заключается в методе удаления (элемента), но я не уверен. Что ускоряет удаление итератора?
Вот код:
public static void iteratorRemove() {

Iterator iterator = list.iterator();
while (iterator.hasNext()) {
int item = iterator.next();
if (item == 99999) {
iterator.remove();
}
}
}

public static void linkedListRemove() {

for(int i=0; i

Подробнее здесь: https://stackoverflow.com/questions/768 ... wed-than-r

Вернуться в «JAVA»