Что такое перебор элементов по очереди в контексте структур данных?

«Что такое перебор элементов по очереди в контексте структур данных?» — вопрос из категории Алгоритмы и структуры данных, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Перебор элементов по очереди (итерация) — это последовательный доступ к каждому элементу коллекции (массива, списка, множества) ровно один раз в порядке их хранения или согласно логике итератора.

Почему это важно: Это фундаментальная операция для обработки данных, поиска, фильтрации и агрегации.

Основные способы в Java:

  1. Классический цикл for (с индексом) — для массивов и списков с произвольным доступом:

    for (int i = 0; i < array.length; i++) {
        System.out.println(array[i]);
    }
  2. Усовершенствованный цикл for-each — для любых реализаций Iterable:

    for (String element : collection) {
        System.out.println(element);
    }
  3. Итератор (Iterator) — предоставляет больше контроля (например, возможность удаления):

    Iterator<String> it = list.iterator();
    while (it.hasNext()) {
        String element = it.next();
        System.out.println(element);
        // it.remove(); // Безопасное удаление текущего элемента
    }

Ключевой принцип: Гарантированное однократное посещение каждого элемента структуры данных.