java流操作-Map排序、分组

// map按照key大大小进行排序
LinkedHashMap<String,String> map3 = new LinkedHashMap<>();
 sabersDayLackWl.entrySet().stream().sorted((o2, o1) ->
                Integer.parseInt((o2.getKey().split("-")[0]+o2.getKey().split("-")[1]+o2.getKey().split("-")[2]))- Integer.parseInt((o1.getKey().split("-")[0]+o1.getKey().split("-")[1]+o1.getKey().split("-")[2]))).
                forEach(e -> map3.put(e.getKey(), e.getValue()));


//map按照vue大大小进行排序
LinkedHashMap<String,Integer> resultMap = new LinkedHashMap();
g20DayLackWl.entrySet().stream().sorted((o1, o2) -> o2.getValue() - o1.getValue()).
                forEach(e -> resultMap.put(e.getKey(), e.getValue()));

//list按照指定字段分组为key为字段的map
List<G20SabersVo> result = Lists.newArrayList();
Map<String, List<G20SabersVo>> collect = new HashMap<>();
collect = result.stream().filter(r -> StringUtils.isNotBlank(r.getRawItemNumber())).collect(Collectors.groupingBy(G20SabersVo::getMainitemNumber, Collectors.mapping(r -> r, Collectors.toList())));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值