1、统计集合中recruitmentPropertyName属性值为“正式工”的数量:
resultList.stream()
.filter(item -> Optional.ofNullable(item.getRecruitmentPropertyName()).orElse("").compareTo("正式工") == 0)
.collect(Collectors.toList()).stream()
.count()
2、统计集合中educationalQualificationName属性值为“研究生”、“博士”的数量:
String [] postgraduates ={"硕士研究生","博士研究生"};
resultList.stream()
.filter(item -> Arrays.asList(postgraduates).contains(Optional.ofNullable(item.getEducationalQualificationName()).orElse("")))
.collect(Collectors.toList()).stream()
.count());
3、统计集合中 BigDecimal 类型的 originalValue字段 的总和:
resultList.stream()
.filter(e -> !ObjectUtils.isEmpty(e.getOriginalValue()))//过滤掉空值
.map(DmShipBaseInfo::getOriginalValue)//获取OriginalValue字段值
.reduce(BigDecimal.ZERO, BigDecimal::add)//聚合相加
.divide(new BigDecimal(10000), 2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros() //除以10000,四舍五入保留两位小数,去除末尾0
4、统计集合中去掉id重复数据之后的总数:
resultList.stream()
.map(r -> r.getId()).distinct()
.collect(Collectors.toList())
.size()
版权声明:本文为m0_63686648原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。