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

Метод collect

Метод collect является терминальной операцией потока Stream. Он принимает объект типа Collector, который описывает, каким образом элементы потока будут накапливаться в итоговый контейнер. В качестве первого параметра передается коллектор, во втором параметре можно передать функцию-финишер, применяемую к результату. Чаще всего этот метод используется для преобразования потока в список, множество или строку.

Синтаксис

stream.collect(collector) stream.collect(supplier, accumulator, combiner)

Пример

Давайте соберем элементы потока в список с помощью Collectors.toList:

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

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

[a, b, c, d, e]

Пример

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

import java.util.List; import java.util.Set; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { Set<String> res = List.of("a", "b", "a", "c", "b") .stream() .collect(Collectors.toSet()); System.out.println(res); } }

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

[a, b, c]

Пример

Давайте объединим элементы потока в одну строку с помощью Collectors.joining:

import java.util.List; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { String res = List.of("a", "b", "c", "d", "e") .stream() .collect(Collectors.joining("-")); System.out.println(res); } }

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

"a-b-c-d-e"

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

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