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

Метод forEachOrdered

Метод forEachOrdered класса Stream выполняет заданное действие для каждого элемента потока, соблюдая порядок элементов. В отличие от метода forEach, который не гарантирует порядок выполнения в параллельных потоках, forEachOrdered всегда обрабатывает элементы в том порядке, в котором они находятся в исходном потоке. В параметр мы передаем объект типа Consumer, который определяет действие, выполняемое над каждым элементом.

Синтаксис

stream.forEachOrdered(action)

Пример

Давайте выведем каждый элемент потока в консоль, сохраняя порядок:

import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream.of("a", "b", "c", "d", "e") .forEachOrdered(System.out::println); } }

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

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

Пример

Давайте применим метод forEachOrdered к параллельному потоку и убедимся, что порядок сохраняется:

import java.util.stream.Stream; public class Main { public static void main(String[] args) { Stream.of(1, 2, 3, 4, 5) .parallel() .forEachOrdered(System.out::println); } }

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

1 2 3 4 5

Пример

Давайте выполним действие над каждым элементом потока, собрав результат в список:

import java.util.ArrayList; import java.util.List; import java.util.stream.Stream; public class Main { public static void main(String[] args) { List<String> res = new ArrayList<>(); Stream.of("a", "b", "c", "d", "e") .forEachOrdered(res::add); System.out.println(res); } }

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

[a, b, c, d, e]

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

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