Добавить в корзинуПозвонить
Найти в Дзене
Java

💡 Java tip: группировка данных в одну строку

Если нужно быстро сгруппировать элементы потока по какому-то признаку — используйте Collectors.groupingBy(). Пример: группируем пользователей по возрасту Map<Integer, List<User>> byAge = users.stream() .collect(Collectors.groupingBy(User::getAge)); Что происходит: Stream проходит по списку users groupingBy берёт значение из User::getAge В результате получаем Map<Возраст, List<User>> Когда это полезно: • группировка заказов по статусу • пользователей по ролям • транзакций по дате • логов по уровню (INFO / ERROR) Бонус: можно комбинировать с другими Collectors Map<Integer, Long> countByAge = users.stream() .collect(Collectors.groupingBy( User::getAge, Collectors.counting() )); Минимум кода - максимум читаемости. Подписывайся, больше фишек каждый день!

💡 Java tip: группировка данных в одну строку

Если нужно быстро сгруппировать элементы потока по какому-то признаку — используйте Collectors.groupingBy().

Пример: группируем пользователей по возрасту

Map<Integer, List<User>> byAge =

users.stream()

.collect(Collectors.groupingBy(User::getAge));

Что происходит:

Stream проходит по списку users

groupingBy берёт значение из User::getAge

В результате получаем Map<Возраст, List<User>>

Когда это полезно:

• группировка заказов по статусу

• пользователей по ролям

• транзакций по дате

• логов по уровню (INFO / ERROR)

Бонус: можно комбинировать с другими Collectors

Map<Integer, Long> countByAge =

users.stream()

.collect(Collectors.groupingBy(

User::getAge,

Collectors.counting()

));

Минимум кода - максимум читаемости. Подписывайся, больше фишек каждый день!