Урок 23: Итераторы и циклы for-each
Итераторы и циклы for-each
являются важными инструментами для перебора элементов коллекций в Java. Итераторы обеспечивают гибкий способ доступа к элементам коллекции и позволяют безопасно удалять элементы во время итерации. Циклы for-each
упрощают синтаксис и делают код более читаемым и удобным для понимания.
Итераторы
Итераторы предоставляют методы для последовательного доступа к элементам коллекции. Ключевые методы итераторов включают hasNext()
, next()
и remove()
. Рассмотрим пример использования итератора:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorExample {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
Iterator iterator = list.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
Результат выполнения
Циклы for-each
Циклы for-each
упрощают перебор элементов коллекции, предоставляя более лаконичный синтаксис. Пример использования цикла for-each
:
import java.util.ArrayList;
import java.util.List;
public class ForEachExample {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
for (String fruit : list) {
System.out.println(fruit);
}
}
}
Результат выполнения
Упражнения
Упражнение 1: Использование итератора
Напишите программу, которая создает список сотрудников и перебирает их с использованием итератора, выводя их имена на экран.
Решение:
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class EmployeeIterator {
public static void main(String[] args) {
List employees = new ArrayList<>();
employees.add("Анна");
employees.add("Иван");
employees.add("Мария");
Iterator iterator = employees.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
}
}
Объяснение: Программа создает список сотрудников с использованием ArrayList
и перебирает их с использованием итератора, выводя их имена на экран.
Упражнение 2: Использование цикла for-each
Напишите программу, которая создает список товаров и перебирает их с использованием цикла for-each
, выводя их названия на экран.
Решение:
import java.util.ArrayList;
import java.util.List;
public class ProductForEach {
public static void main(String[] args) {
List products = new ArrayList<>();
products.add("Молоко");
products.add("Хлеб");
products.add("Сыр");
for (String product : products) {
System.out.println(product);
}
}
}
Объяснение: Программа создает список товаров с использованием ArrayList
и перебирает их с использованием цикла for-each
, выводя их названия на экран.