РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
493 of 1163 menu

Метод iterator

Метод iterator класса Stream возвращает объект типа Iterator, который позволяет последовательно обходить элементы потока. Метод не принимает параметров и является терминальной операцией - после его вызова поток считается использованным, и повторно применить к нему другие операции уже нельзя. Полученный итератор поддерживает методы hasNext и next для проверки наличия и извлечения следующего элемента соответственно.

Синтаксис

Iterator<T> iterator = stream.iterator()

Пример

Давайте получим итератор для потока строк и выведем все его элементы в цикле:

import java.util.Iterator; import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<String> stream = Stream.of("a", "b", "c", "d", "e"); Iterator<String> iter = stream.iterator(); while (iter.hasNext()) { System.out.println(iter.next()); } } }

Результат выполнения кода:

"a" "b" "c" "d" "e"

Пример

Давайте получим итератор для потока чисел и просуммируем его элементы вручную:

import java.util.Iterator; import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream<Integer> stream = Stream.of(1, 2, 3, 4, 5); Iterator<Integer> iter = stream.iterator(); int sum = 0; while (iter.hasNext()) { sum += iter.next(); } System.out.println(sum); } }

Результат выполнения кода:

15

Пример

Давайте получим итератор для потока, полученного из списка, и выведем элементы с их индексами:

import java.util.Iterator; import java.util.List; public class Main { public static void main(String[] args) { List<String> list = List.of("a", "b", "c", "d", "e"); Iterator<String> iter = list.stream().iterator(); int index = 0; while (iter.hasNext()) { System.out.println(index + ": " + iter.next()); index++; } } }

Результат выполнения кода:

"0: a" "1: b" "2: c" "3: d" "4: e"

Смотрите также

  • класс Stream,
    который представляет поток элементов
  • метод spliterator,
    который возвращает сплитератор потока
  • метод forEach,
    который выполняет действие для каждого элемента
  • метод toList,
    который собирает элементы потока в список
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить