Java8常用Lambda表达式

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

 

转载于:https://www.cnblogs.com/dongjiang/p/11413467.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值