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());