微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java8 Stream按Map的键或者值进行排序

一、按Map的键排序

public static void sortedMapKey(){
        // 创建一个Map,并填入数据
        Map<String, Integer> codes = new HashMap<>();
        codes.put("zhangsan", 1);
        codes.put("lisi", 49);
        codes.put("wangwu", 33);
        codes.put("anni", 86);
        codes.put("block", 92);
        // 按照Map的键进行排序
        Map<String, Integer> sortedMap = codes.entrySet().stream()
                .sorted(Map.Entry.comparingByKey())
                .collect(
                        Collectors.toMap(
                                Map.Entry::getKey,
                                Map.Entry::getValue,
                                (oldVal, newVal) -> oldVal,
                                LinkedHashMap::new
                        )
                );
        // 将排序后的Map打印
        sortedMap.entrySet().forEach(System.out::println);
    }

二、按Map的值排序

public static void sortedMapValue(){
        // 创建一个Map,并填入数据
        Map<String, Integer> codes = new HashMap<>();
        codes.put("zhangsan", 1);
        codes.put("lisi", 49);
        codes.put("wangwu", 33);
        codes.put("anni", 86);
        codes.put("block", 92);
        Map<String, Integer> sortedMap2 = codes.entrySet().stream()
                .sorted(Map.Entry.comparingByValue())
                .collect(Collectors.toMap(
                        Map.Entry::getKey,
                        Map.Entry::getValue,
                        (oldVal, newVal) -> oldVal,
                        LinkedHashMap::new));

        sortedMap2.entrySet().forEach(System.out::println);
    }

原文地址:https://www.jb51.cc/wenti/3281945.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐