Java8之分组

时间:2023-03-10 05:40:27
Java8之分组

数据库中根据多个条件进行分组

select a, b, count(1) from tableA group by a, b

现在不使用sql,而直接使用java编写分组,则通过Java8根据多个条件进行分组代码如下:

List<User> list = Arrays.asList(
new User("name1", "pwd1"),
new User("name2", "pwd2"),
new User("name1", "pwd2"),
new User("name2", "pwd1");
new User("name1", "pwd1")
);
list.stream().collect(Collectors.groupBy(User::getName), Collectors.groupBy(User::getPwd, Collectors.counting));

根据一个条件分组:

list.stream().collect(Collectors.groupBy(User::getPwd, Collectors.counting));