Java的stream包的几个使用

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

你可能感兴趣的:(Java,java,开发语言)