Я пересекаю список и хочу удалить определенный элемент, который соответствует условию. Я также хочу вернуть этот элемент. Есть два способа, которые я придумал для этого. < /P>
Сначала: < /p>
for (int i = 0; i < list.size(); i++) {
if (shouldBeRemoved(list.get(i)) {
E toRemove = list.get(i);
list.remove(i);
return toRemove;
}
}
return null;
< /code>
второе: < /p>
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
E element = iterator.next();
if (shouldBeRemoved(element)) {
iterator.remove();
return element;
}
}
return null;
< /code>
Мне нравится метод итератора, поскольку кажется, что итератор «знает, где он находится», и поэтому не нужно проходить через список, чтобы найти вещь, чтобы удалить; Проход происходит вместе с поиском самого элемента. Это просто предположение, хотя.
Что из них более эффективно/быстрее? Есть ли определенные сценарии, в которых лучше использовать один или другой?
Подробнее здесь: https://stackoverflow.com/questions/795 ... mance-wise
Collections.remove () vs iterator.remove () с точки зрения производительности ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Java - collections.remove () vs iterator.remove () с точки зрения производительности
Anonymous » » в форуме JAVA - 0 Ответы
- 17 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Collections.remove () vs iterator.remove () с точки зрения производительности
Anonymous » » в форуме JAVA - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-