java 8 stream 对集合的简单操作

Java 8 stream 流操作集合的一些简单用法:

List<User> userList = userService.getUserList();

一. 将装有User对象的List集合转为一个Map集合,key 为 id,值为对象本身;当然,key和值由你的需求来定;e指代当前User对象;

Map<String, User> collect = userList.stream().collect(Collectors.toMap(User::getId, e -> e));

Map<String, String> collect1 = userList.stream().collect(Collectors.toMap(User::getId, e -> e.getName()));

二. 将集合中的对象按照对象的属性分组成一个Map集合,这里按照User的id来分组

Map<String, List<User>> stringListMap = userList.stream().collect(Collectors.groupingBy(User::getId));

三. 获取集合中所有对象的某个属性值转为一个集合并去重,这里以id为例

List<String> userIds = userList.stream().map(User::getId).distinct().collect(Collectors.toList());

猜你喜欢

转载自blog.csdn.net/qq_40074764/article/details/80292240