English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java流程控制

Java数组

Java面向对象(I)

Java面向对象(II)

Java面向对象(III)

Обработка исключений Java

Java Списки (List)

Java Queue (очередь)

Java Map-сборники

Java Set-сборники

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы Java

Java Iterator интерфейс

В этом руководстве мы научимся Java Iterator интерфейсу через пример.

Интерфейс Iterator в фреймворке Java Collection позволяет нам доступ к элементам набора. У него есть подинтерфейс ListIterator.

Все Java-сборники содержат метод iterator(), который возвращает экземпляр迭代атора для итерации по элементам сборника.

Методы Iterator

Интерфейс Iterator предоставляет 4 метода, которые можно использовать для выполнения различных операций с элементами набора.

  • hasNext() - возвращает true, если в наборе есть элементы

  • next() - возвращает следующий элемент набора

  • remove() - удаляет последний элемент, возвращенный next()

  • forEachRemaining() - выполняет指定的 действие для каждого оставшегося элемента в наборе

Пример: реализация Iterator

В следующем примере мы реализовали методы hasNext(), next(), remove() и forEachRemaining() интерфейса Iterator в списке массивов.

import java.util.ArrayList;
import java.util.Iterator;
class Main {
    public static void main(String[] args) {
        //Создание ArrayList
        ArrayList<Integer> numbers = new ArrayList<>();
        numbers.add(1);
        numbers.add(3);
        numbers.add(2);
        System.out.println("ArrayList: " + numbers);
        //Создание экземпляра Iterator
        Iterator<Integer> iterate = numbers.iterator();
        //Использование метода next()
        int number = iterate.next();
        System.out.println("Доступ к элементу: " + number);
        //Использование метода remove()
        iterate.remove();
        System.out.println("Удаление элемента: " + number);
        System.out.print("Обновленный ArrayList: ");
        //Использование метода hasNext()
        while(iterate.hasNext()) {
            //Использование метода forEachRemaining()
            iterate.forEachRemaining((value) -> System.out.print(value + ", "));
        }
    }
}

Результат вывода

ArrayList: [1, 3, 2]
Доступ к элементу: 1
Удаленный элемент: 1
Обновленный ArrayList: 3, 2,

В примере выше обратите внимание на следующие строки:

iterate.forEachRemaining((value) -> System.put.print(value + ", "));

Здесь мыlambda выражениеПередается в качестве параметра метода forEachRemaining().

Теперь该方法 будет распечатывать все оставшиеся элементы в списке массивов.