stream 使用

stream

map遍历
map.forEach((key, value) -> {
System.out.println(“key=” + key + “,value=” + value);
});

获取某个字段并组成新集合
List roleList = value.stream().map(item -> item.getRoleId()).collect(Collectors.toList());

根据字段分组
Map<String, List> collect = mayibankAddJobs.stream().collect(Collectors.groupingBy(MayibankAddJobs::getJobCode));

集合过滤
List collect = copTaskConfigModels.stream().filter(item -> StringUtils.isNotBlank(tp) && item.getBusType().equals(tp))

指定字段组装字符串
String collect = operatorDTOS.stream().map(OperatorDTO::getOperatorName).collect(Collectors.joining(","));

过滤两个集合不重复的数据
List collect = pageInfos.stream().filter(item -> pageInfoDOS.stream().noneMatch(dos -> dos.getPageId().equals(item.getPageId()))).collect(Collectors.toList());

返回 ConcurrentMap
ConcurrentMap<String, CopTaskModel> copTaskModelMap = taskModelList.stream().filter(tk->tk.getRetryTimes()==null||tk.getRetryTimes()==0).collect(Collectors.toConcurrentMap(CopTaskModel::getTaskCode, t -> t));

集合转set
Set jobIdsSet = jobIds.stream().collect(Collectors.toSet());

忘了场景了
List adminIds = roleDtos.stream().filter(Objects::nonNull).flatMap(item->
StringUtils.isNotBlank(item.getRoleAdmins()) ? Arrays.asList(item.getRoleAdmins()).stream() : null).collect(Collectors.toList());

根据条件 过滤出新的几个
orgListAll = orgListAll.stream().filter(item->item.getId() > 0).collect(Collectors.toList());

把某个字段组装成新的集合
List authIdList = existsNormalAuth.stream().map(AuthSessionModel::getAuthId).collect(Collectors.toList());

去重
List distinctOperationModels = operationModels.stream().distinct().collect(Collectors.toList());

对象转换 : BeanConverters.convert2DTO(item) :为一个转换器
List operatorDTOS = userModels.stream().map(item->BeanConverters.convert2DTO(item)).collect(Collectors.toList());

将集合分组 根据某个字段分组 返回Map, key为分组条件
Map<Long,List> roleModelMap = processRoleModel.stream().collect(Collectors.groupingBy(RoleModel::getUpderOrgId));

List storeIds = sellerItemDTO.getStoreIds();

List materialids = info.stream().map(x -> x.getMaterialId()).collect(Collectors.toList());

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值