stream()流式算法

java8的流式处理极大的简化了对于集合的操作,实际上不光是集合,包括数组、文件等,只要是可以转换成流,我们都可以借助流式处理,类似于我们写SQL语句一样对其进行操作。java8通过内部迭代来实现对流的处理,一个流式处理可以分为三个部分:转换成流、中间操作、终端操作

关于list.stream().map(User::getUserId).collect(Collectors.toList())的写法

List<String> userIdList = UserList.stream().map(User::getUserId).collect(Collectors.toList());

//等价于
List<String> userIdList = new ArrayList<>();
for(User user : UserList){
userIdList.add(user.getUserId());
}

//Collectors.toList() 一般用于将 list,set等转换成另一个list
List<Integer> ids=users.stream().map(User::getId).collect(Collectors.toList());
System.out.println(ids);
//Collectors.toMap() 一般用于将一个List转换为Map
Map<Integer,String> map=users.stream().collect(Collectors.toMap(User::getId,User::getName));
System.out.println(map);
posted @ 2022-02-16 22:21  huiyii  阅读(128)  评论(0编辑  收藏  举报