java8 流式处理(1)

1、把list集合转换成Map

List<OrgResponDetail> oldDetails = new ArrayList();
Map<String,OrgResponDetail> map = oldDetails.stream()
.collect(Collectors.toMap(temp -> temp.getId(), temp -> temp));

Map<String,String> map = oldDetails.stream() .collect(Collectors.toMap(OrgResponDetail::getId,OrgResponDetail::getParentId));

2、把list转换为list
List<String> detailIds = list.stream()
.map(temp -> temp.getId()).collect(Collectors.toList());

//filter方法里的条件是作为筛选条件
List<Scheduling> resultList = list.stream()
.filter(distinctByKey(temp -> temp.getOrgId())).collect(Collectors.toList());

public static <T> Predicate<T> distinctByKey
(Function<? super T, Object> keyExtractor) {
Map<Object, Boolean> seen = new ConcurrentHashMap<>();
return t -> seen.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null;
}

3、去重distinct()
List<String> oldDetails = new ArrayList();
List<String> list = list.stream().distinct().collect(Collectors.toList());

4、排序
//根据orders升序sorted方法
List itemVoList = list.stream().sorted(Comparator.comparing(DicGroupItemVo::getOrders))
.collect(Collectors.toList());

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值