1、获取年龄>20的人员列表

List<User> list = users.stream().filter(item -> item.getAge() != null && item.getAge() > 20).collect(Collectors.toList());

2、以ID(id+userName)为Key,用户对象为Value构建Map(key为NULL时报错)

Map<Long, User> map = users.stream().collect(Collectors.toMap(User::getId, Function.identity()));
Map<String, User> map = users.stream().collect(Collectors.toMap(user -> String.valueof(user.getId() + user.getUserName()), Function.identity()));

3、以ID为Key,deptId为Value构建Map(id或deptId为NULL时报错)

Map<Long, Long> map = users.stream().collect(Collectors.toMap(User::getId, User::getDeptId));

4、以deptId为Key进行分组(deptId为NULL时报错)

Map<Long, List<User>> map = users.stream().collect(Collectors.groupingBy(User::getDeptId));

5、提取ID 集合(List)

List<Long> ids = users.stream().map(User::getId).collect(Collectors.toList());

6、提取部门ID集合(List)并去重

List<Long> deptIds = users.stream().map(User::getDeptId).distinct().collect(Collectors.toList());

7、提取部门ID集合(Set)

Set<Long> deptIds = users.stream().map(User::getDeptId).collect(Collectors.toSet());
posted on 2022-07-13 15:50  玄同太子  阅读(1627)  评论(0)    收藏  举报