首页 > 其他分享 >JDK8流(stream)常用操作(List转Map,List转Set)

JDK8流(stream)常用操作(List转Map,List转Set)

时间:2022-08-15 22:22:11浏览次数:42  
标签:Map Set users stream List collect User

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

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

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

Map<Long, User> map = users.stream().collect(Collectors.toMap(User::getId, 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());

 

标签:Map,Set,users,stream,List,collect,User
From: https://www.cnblogs.com/taoxw/p/16589867.html

相关文章