stream流操作笔记
stream的groupingBy函数
filter函数
DirMainCaseInfoVO creditVO = dirMainCaseList.stream().filter(d -> LoadTypeEnum.CREDIT.getKey().equals(d.getLoadFlag())).findFirst().orElse(new DirMainCaseInfoVO());
JSONObject endUserColumn = (JSONObject) StreamUtil.streamOf(attributeArray).filter(o -> attributeName.equals(((JSONObject) o).getString(END_USER_COLUMN_NAME)
)).findFirst().orElse(new JSONObject());
map reduce函数
BigDecimal freeAmount = value.stream().map(DivDetailVO::getFreeAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
从对象中提取字段转换为集合
existList = StreamUtil.streamOf(segmentOrgList).map(e -> e.getSegment1()).collect(Collectors.toList());
String billTypeId = Optional.ofNullable(billObj.getString(“billTypeId”))
.filter(StringUtils::isNotBlank).orElseThrow(() -> new BusinessServiceException(“单据类型不能为空”));
使用流的方式初始化集合
List expensing = Stream.of(“02”,“10”,“11”,“20”,“21”,“22”,“30”,“31”,“32”,
“40”,“52”,“51”,“54”).collect(toList());