У меня есть связанный список целых чисел, содержащий элементы от 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