Java的stream包的几个使用

文章介绍了Java8中Stream包的几个实用功能,包括通过字段获取集合、按字段分组、过滤特定条件的元素、计算字段总和以及创建Map。示例涵盖了map、filter、reduce和groupingBy等方法的应用。
摘要由CSDN通过智能技术生成

Java的stream包的几个使用

前言

java8引入的stream包不知道大家使用过没有,处理集合真的超级方便,目前工作中用到的stream包比较少,以下是我用到过的几个场景,希望可以帮助到大家。

1. 获取当前集合下某个字段的集合

例:获取当前集合下urid的集合

List<ResBean> beanList = new ArrayList<>();
List<String> uridList = beanList.stream().map(ResBean::getUrid).collect(Collectors.toList());

2. 通过某个字段分组

例:通过年月分组,2023-03、2023-04、2023-05 这里我的Repaydate字段是String类型的

List<ResBean> beanList = new ArrayList<>();
Map<String, List<ResBean>> dateToMapList = beanList .stream().collect(Collectors.groupingBy(ResBean::getRepaydate));

3. 通过某个字段过滤

例:过滤出当前集合下组织id=aaa的数据

String orgId = "aaa"
List<ResBean> beanList = new ArrayList<>();
List<ResBean> sybBeanList = beanList.stream().filter(b -> orgId.equals(b.getOrgid())).collect(Collectors.toList());

4.求集合某个字段的和

例:求出当前集合下Principal字段的合计

List<ResBean> beanList = new ArrayList<>();
BigDecimal principalSum = beanList.stream().map(ResBean::getPrincipal).reduce(BigDecimal.ZERO, BigDecimal::add);

5.通过list的2个字段组成map

如,通过id和list的索引index,组成一个map

List<ItemDao> itemDaoList = itemMapper.selectList(new QueryWrapper<ItemDao>().eq("categoryid", categoryid));
Map<String, Integer> collect1 = itemDaoList.stream().collect(Collectors.toMap(ItemDao::getId, itemDaoList::indexOf));
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值