集合通过Stream求和或排序

集合求和三种方式

Stream是什么,怎么用…这里不做详细介绍,下面我们只说一下集合快速求和的三种算法:
我们先创建一个list集合用作测试:

List<Integer> list= Lists.newArrayList();
list.add(111);
list.add(222);
list.add(333);

第一种:
Integer sum = list.stream().reduce((x,y)->x+y).get();//666

第二种:
Integer sum = list.stream().reduce(0,(x,y)->x+y);//666
Integer sum = list.stream().reduce(10,(x,y)->x+y);//676

第三种:
Integer sum = list.stream().mapToInt((x)->x).sum();//666
Integer sum = list.stream().mapToInt((x)->2*x).sum();//1332
Integer sum = list.stream().mapToInt((x)->x+1).sum();//669

集合根据属性排序

第一种:正序排列
personList.stream().sorted(Comparator.comparing(Person::getAge)).collect(Collectors.toList());

第二种:倒序排列
personList.stream().sorted(Comparator.comparing(Person::getAge).reversed()).collect(Collectors.toList());

第三种:多条件排列
List collect = personList.stream()
.sorted(Comparator.comparing(Person::getAge).thenComparing(Comparator.comparing(Person::getName)))
.collect(Collectors.toList());

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值