Удаление элементов из 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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