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