Ответ
Iterator — это интерфейс в Java, предоставляющий стандартный способ последовательного обхода элементов коллекции без раскрытия её внутренней структуры.
Основные методы:
boolean hasNext()— проверяет наличие следующего элемента.E next()— возвращает следующий элемент.void remove()— удаляет текущий элемент (опциональная операция).
Пример использования:
List<String> list = Arrays.asList("A", "B", "C");
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String element = iterator.next();
System.out.println(element);
}
Преимущества:
- Универсальность — единый API для обхода любых коллекций (List, Set, Queue).
- Безопасное удаление — метод
remove()позволяет удалять элементы во время итерации без рискаConcurrentModificationException(если коллекция его поддерживает). - Fail-fast поведение — большинство итераторов выбрасывают
ConcurrentModificationExceptionпри обнаружении структурных изменений коллекции во время обхода. - Изоляция от реализации — клиентский код не зависит от внутреннего устройства коллекции (массив, связный список, дерево).
Важно: Для модификации коллекции во время итерации следует использовать только метод remove() итератора, а не методы самой коллекции.