@Data
public class User {
private String name;
private String type;
public User(String name, String type) {
this.name = name;
this.type = type;
}
}
public class TestGroupList {
@Test
public void testGroupList() {
List<User> userList = new ArrayList<>();
userList.add(new User("张三","1"));
userList.add(new User("李四","2"));
userList.add(new User("王五","3"));
userList.add(new User("赵六","1"));
userList.add(new User("钱七","2"));
userList.add(new User("孙八","3"));
List<List<User>> collect = groupList(userList);
System.out.println(collect);
}
public static List<List<User>> groupList(List<User> userList) {
Map<String, List<User>> collect = userList.stream().collect(Collectors.groupingBy(User::getType));
return new ArrayList<>(collect.values());
}
}