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

Класс Collector

Класс Collector - это интерфейс из пакета java.util.stream, который описывает процедуру сворачивания (редукции) элементов потока в итоговый результат. Объекты этого типа передаются в терминальный метод collect для выполнения мутабельной редукции. Collector содержит четыре ключевые функции: supplier (создает новый контейнер результата), accumulator (добавляет элемент в контейнер), combiner (объединяет два контейнера при параллельной обработке) и finisher (выполняет финальное преобразование контейнера). Готовые реализации этого интерфейса собраны в утилитном классе Collectors.

Синтаксис

Collector<T, A, R>

Где T - тип элементов потока, A - тип промежуточного контейнера, R - тип итогового результата.

Пример

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

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

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

[a, b, c, d, e]

Пример

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

import java.util.List; import java.util.Set; import java.util.stream.Collectors; public class Main { public static void main(String[] args) { List<Integer> list = List.of(1, 2, 3, 4, 5, 2, 3); Set<Integer> res = list.stream() .collect(Collectors.toSet()); System.out.println(res); } }

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

[1, 2, 3, 4, 5]

Пример

Давайте объединим строки в одну, используя коллектор joining:

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

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

"a-b-c-d-e"

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

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