18. Расскажите про класс Collectors и его методы.

18. Расскажите про класс Collectors и его методы.

Unknown

В Java 8 в классе Collectors реализовано несколько распространённых коллекторов:

  • toList(), toCollection(), toSet() - представляют стрим в виде списка, коллекции или множества;
  • toConcurrentMap(), toMap() - позволяют преобразовать стрим в Map;
  • averagingInt(), averagingDouble(), averagingLong() - возвращают среднее значение;
  • summingInt(), summingDouble(), summingLong() - возвращает сумму;
  • summarizingInt(), summarizingDouble(), summarizingLong() - возвращают SummaryStatistics сразными агрегатными значениями;
  • partitioningBy() - разделяет коллекцию на две части по соответствию условию и возвращает их как Map<Boolean, List>;
  • groupingBy() - разделяет коллекцию на несколько частей и возвращает Map<N, List<T>>;
  • mapping() - дополнительные преобразования значений для сложных Collector-ов.

Так же существует возможность создания собственного коллектора через Collector.of():

Collector<String, List<String>, List<String>> toList = Collector.of(

    ArrayList::new,

    List::add,

    (l1, l2) -> { l1.addAll(l2); return l1; }

);


Предыдущий вопрос: 17. Расскажите про метод reduce() уменьшить

Следующий вопрос: 19. Расскажите о параллельной обработке в Java 8.

Все вопросы по теме: список

Все темы: список

Вопросы/замечания/предложения/нашли ошибку:напишите мне


Report Page