List 举例:
1、获取所有User姓名字段,存放到新的List中
List<String> names= list.stream().map(u->u.getName()).collect(Collectors.toList());
2、获取用户名为"张三"的User对象
User user= list.stream().filter(u->u.getName().equals("张三")).findFirst().orElse(null);
如果List中存在多个对象用户名为"张三"则获取第一个对象,没有返回null
3、判断list中是否有用户名为张三的对象
boolean present = list.stream().filter(u -> u.getName().equals("张三")).findAny().isPresent();
4、根据性别对所有用户分组
Map<Integer, List<User>> collect = list.stream().collect(Collectors.groupingBy(User::getSex));
map中key为性别,value为对应性别所有对象
可以更具多个字段分组:(根据姓名、性别分组)
Map<String,Map<Integer, List<User>>> collect = list.stream().collect(Collectors.groupingBy(User::getName,Collectors.groupingBy(User::getSex)));
5、求和
转载:https://blog.csdn.net/qq_38349413/article/details/124452090
6、获取sex最大的User对象
Optional<User> max = list.stream().max(Comparator.comparingInt(User::getSex));
List<Integer>类型获取最大值
Optional<Integer> max= list.stream().max(Integer::compareTo);
java8遍历集合使用起来很爽,但是不能给集合外的变量赋值