Java8常用Lambda表达式

走远了吗. 提交于 2019-11-28 15:40:25
List<User> users=new ArrayList<>();
//用户集合中返回userId字段为空的集合
List<User> users1 = users.stream().filter(obj -> obj.getUserId().equals("")).collect(Collectors.toList());
//用户集合中返回userId字段为空的集合中的第二个开始查 返回第一个用户对象
User user = users.stream().filter(obj -> obj.getUserId().equals("")).skip(1).findAny().get();
//用户集合中返回userId字段为空的集合中返回第一个用户对象
User user1 = users.stream().filter(obj -> obj.getUserId().equals("")).findFirst().get();
//用户集合中返回userId字段为空的集合中返回第一个用户对象(串行查询跟上面结果一样,并行查询返回最快回来的那个)
User user2 = users.stream().filter(obj -> obj.getUserId().equals("")).findAny().get();
//根据年龄降序排序用户 不加reversed()方法默认升序
List<User> collect = users.stream().sorted(Comparator.comparing(User::getAge).reversed()).collect(Collectors.toList());

//返回用户里面年龄大于10岁的用户id
List<String> collect3 = collect.stream().filter(obj -> obj.getAge() > 10).map(User::getUserId).collect(Collectors.toList());
//年龄最大的用户是多少岁
Integer integer = users.stream().map(User::getAge).max(Integer::compare).get();
//返回每个用户的用户id
List<String> collect1 = users.stream().map(User::getUserId).collect(Collectors.toList());
//转换用户id的值为小写值
List<String> collect2 = collect1.stream().map(String::toLowerCase).collect(Collectors.toList());

//返回一个map key是年龄 value是该年龄有多少人还有对于filter与map同时使用的话记得先用filter再用map方法。
Map<Integer, Long> collect4 = users.stream().collect(groupingBy(User::getAge, counting()));
//返回一个map key是年龄 value是属于该年龄的集合
Map<Integer, List<User>> collect5 = users.stream().collect(groupingBy(User::getAge));

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!