Интерфейс итератора Java
Интерфейс итератора Java
В этом руководстве мы узнаем об интерфейсе Java Iterator на примере.
Iterator
интерфейс фреймворка коллекций Java позволяет нам получить доступ к элементам коллекции. Он имеет подынтерфейс ListIterator
.
Все коллекции Java включают в себя iterator()
метод. Этот метод возвращает экземпляр итератора, используемого для перебора элементов коллекций.
Методы итератора
Iterator
Интерфейс предоставляет 4 метода, которые можно использовать для выполнения различных операций над элементами коллекций.
hasNext()
- возвращаетtrue
если в коллекции есть элементnext()
- возвращает следующий элемент коллекцииremove()
- удаляет последний элемент, возвращенныйnext()
forEachRemaining()
- выполняет указанное действие для каждого оставшегося элемента коллекции
Пример:реализация итератора
В приведенном ниже примере мы реализовали код hasNext()
, next(),
remove()
и forEachRemining()
методы Iterator
интерфейс в списке массивов.
import java.util.ArrayList;
import java.util.Iterator;
class Main {
public static void main(String[] args) {
// Creating an ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
numbers.add(1);
numbers.add(3);
numbers.add(2);
System.out.println("ArrayList: " + numbers);
// Creating an instance of Iterator
Iterator<Integer> iterate = numbers.iterator();
// Using the next() method
int number = iterate.next();
System.out.println("Accessed Element: " + number);
// Using the remove() method
iterate.remove();
System.out.println("Removed Element: " + number);
System.out.print("Updated ArrayList: ");
// Using the hasNext() method
while(iterate.hasNext()) {
// Using the forEachRemaining() method
iterate.forEachRemaining((value) -> System.out.print(value + ", "));
}
}
}
Вывод
ArrayList: [1, 3, 2] Acessed Element: 1 Removed Element: 1 Updated ArrayList: 3, 2,
В приведенном выше примере обратите внимание на оператор:
iterate.forEachRemaining((value) -> System.put.print(value + ", "));
Здесь мы передали лямбда-выражение в качестве аргумента forEachRemaining()
метод.
Теперь метод напечатает все оставшиеся элементы списка массивов.
java