Java 8 Stream collect grouping

FacebooktwittertumblrFacebooktwittertumblr

Данная статья написана командой Vertex Academy. Это одна из статей из нашего Учебника по Java 8. Надеемся, что данная статья Вам будет полезна. Приятного прочтения!


В этой статье мы рассмотрим группировку данных с помощью Stream-ов в Java.

1. Введение

Stream API  - новый способ взаимодействия с данными, представляя их в виде конечного потока данных.

Один из методов Stream-ов, collect принимает лямбда-выражение известное как коллектор (Collector), которое собирает данные в необходимую структуру.

С ними мы сегодня и научимся работать.

2. Grouping by property

Создадим класс Human

Сгруппируем людей по фамилии

До Java 8

Вывод

В Java 8 мы можем воспользоваться методом collect в сочетании с groupingBy из Stream API

 

3. Grouping objects by property + count

Сгруппируем людей по фамилиям и посчитаем их количество.

4. Grouping objects by property + sum

Сгруппируем людей по фамилиям и найдем количество друзей группы

Collectors.summingInt принимает лямбда-выражение (по чему будет производиться суммирование)

5. Grouping + mapping

При группировке мы так же можем указать нужную коллекцию для значений, а так же сами значения.

Вывод

В Java 8 есть еще множество полезных нововведений, которые можно найти тут

Надеемся - наша статья была Вам полезна. Есть возможность записаться на наши курсы по Java в Киеве. Детальнее - у нас на сайте.

 

FacebooktwittertumblrFacebooktwittertumblr

FacebooktwittertumblrFacebooktwittertumblr
Самоучители--узнать детальнее--