Java8使用Stream对Map排序

心不动则不痛 提交于 2021-02-12 02:46:02
        HashMap<String, Long> map = new HashMap<>();
        map.put("a", 10L);
        map.put("b", 20L);
        map.put("c", 15L);
        map.put("d", 23L);

        System.out.println("----Before Sort-----");
        map.forEach((k, v) -> {
            System.out.println(k + " = " + v);
        });

        Map<String, Long> finalMap = new LinkedHashMap<>();

        map.entrySet().stream()
                .sorted(Map.Entry.<String, Long> comparingByValue().reversed())
                .forEachOrdered(e -> finalMap.put(e.getKey(), e.getValue()));

        System.out.println("----After Sort-----");
        finalMap.forEach((k, v) -> {
            System.out.println(k + " = " + v);
        });
            
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!