list、map排序

list排序

  Collections.sort(voteDeptRankVoList, new Comparator<VoteDeptRankVo>() {
            @Override
            public int compare(VoteDeptRankVo o1, VoteDeptRankVo o2) {
                //return o1.getVoteCounts()- o2.getVoteCounts();  //升序
                return o2.getVoteCounts() - o1.getVoteCounts(); //降序
            }

        });
Collections.sort(voteDeptRankVoList,new Comparator<VoteDeptRankVo>(){
   @Override
     public int compare(DataStatistic o1, DataStatistic o2) {
          return o2.getCreateTime().compareTo(o1.getCreateTime());
     }
});
list.sort(Comparator.comparing(User::getCreatedDate));
Comparator.comparing().reversed()倒序。

map 排序

 Map<Integer, CommentInfoVo> map = new TreeMap<>((o1, o2) -> o2 - o1);
final Map<String, String> map2= map.entrySet()
               .stream()
               .sorted(Map.Entry.comparingByKey())
               .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (e1, e2) -> e1, LinkedHashMap::new));

list 转map

Map<Long, DeptInfoDTO> bigRegionMap = deptInfoDTOS.stream().collect(Collectors.toMap(r -> r.getDeptId().longValue(), v -> v, (r, j) -> r));

list 分组

Map<String, List<User>> map = students.stream().collect(Collectors.groupingBy(User::getName));
 //求最大值
BigDecimal max = list.stream().map(User::getWeight).max((x1, x2) -> x1.compareTo(x2)).get();
 //求最小值
BigDecimal min = list.stream().map(User::getWeight).min((x1, x2) -> x1.compareTo(x2)).get();
//求和
BigDecimal sum = list.stream().map(User::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add);
//求平均值
BigDecimal average = list.stream().map(User::getWeight).reduce(BigDecimal.ZERO, BigDecimal::add).divide(BigDecimal.valueOf(userList.size()), 2, BigDecimal.ROUND_HALF_UP);
Arrays.stream(strArr.split(","))
                        .map(s -> Long.parseLong(s.trim()))
                        .collect(Collectors.toList())

List<String> destinationAreaList = Lists.newArrayList(Splitter.on(";").omitEmptyStrings().split(destinationArea));
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值