我是靠谱客的博主 俭朴画板,最近开发中收集的这篇文章主要介绍java8Lombok类库使用List常用提取排序统计,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

public void test() {
        List<Zhy> zhy = new ArrayList<>();
        zhy.add(new Zhy("two", 2));
        zhy.add(new Zhy("three", 3));
        zhy.add(new Zhy("three2", 3));
        zhy.add(new Zhy("one", 1));

        // 提取code到新list
        List<Integer> codes = zhy.stream().map(Zhy::getCode).collect(Collectors.toList());
        // 根据code进行排序
        zhy.sort(Comparator.comparingInt(Zhy::getCode));
        // 根据name进行排序
        zhy.sort(Comparator.comparing(Zhy::getName));
        // 统计code重复数量
        Map<Object, Integer> map = new TreeMap<>();
        for (Object i : zhy) {
            if (map.get(i) == null) {
                map.put(i, 1);
            } else {
                map.put(i, map.get(i) + 1);
            }
        }
        // 简化写法
        for (Object i : zhy) {
            map.merge(i, 1, (a, b) -> a + b);
        }
        /*
        merge 的方法有三个参数 第一个是所选map的key,第二个是需要合并的值,第三个是 如何合并,也就是说合并方法的具体实现
        */
       // map根据value排序
        List<Map.Entry<Object, Integer>> list = new ArrayList<>(map.entrySet());
        list.sort(Comparator.comparingInt(Map.Entry::getValue));
        System.out.println(list);
    }

    @Data
    @AllArgsConstructor
    public class Zhy {
        private String name;
        private int code;
    }

 

最后

以上就是俭朴画板为你收集整理的java8Lombok类库使用List常用提取排序统计的全部内容,希望文章能够帮你解决java8Lombok类库使用List常用提取排序统计所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(66)

评论列表共有 0 条评论

立即
投稿
返回
顶部