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.
Все вопросы по теме: список
Все темы: список
Вопросы/замечания/предложения/нашли ошибку:напишите мне