//list
List<Integer> userIds=userInfoList.stream().map(m->m.getUserId()).collect(Collectors.toList());
//distinct List<Integer> userIdsDis=userInfoList.stream().map(m->m.getUserId()).distinct().collect(Collectors.toList());
//array Integer[] userIdsArray = userInfoList.stream().map(m->m.getUserId()).distinct().collect(Collectors.toList()).toArray(new Integer[0]); int[] userIdsArray2=userInfoList.stream().mapToInt(m-> Integer.valueOf(m.getUserId())).toArray();
//join String userIdStr = userInfoList.stream().map(m->m.getUserName()).collect(Collectors.joining(", "));
//filter List<UserInfo> userInfoList1=userInfoList.stream().filter(m->m.getAge()>10).collect(Collectors.toList());
//get UserInfo userInfo=userInfoList.stream().filter(m->m.getUserId()==1).findFirst().get();
//new object List<UserWithCompany> userWithCompanies =userInfoList.stream().map(m->new UserWithCompany(m.getUserId())).collect(Collectors.toList());
//map Map<Integer,UserInfo> userInfoMap=userInfoList.stream().collect(Collectors.toMap(UserInfo::getUserId, m -> m));
//group
Map<String, List<UserInfo>> singleMap = studentList.stream().collect(Collectors.groupingBy(UserInfo::getCode));
//多条件分组
Map<String, List<Student>> complexMap = studentList.stream().collect(Collectors.groupingBy(e -> fetchGroupKey(e)));
private static String fetchGroupKey(Student student){
return student.getUsername() +"+"+ student.getCode();
}
//for
userInfoList.stream().forEach(m->{
System.out.println(m.getUserName());
System.out.println(m.getUserId());
});
参考资料: