zoukankan      html  css  js  c++  java
  • Stream Map 的排序

    根据key排序

    public static void main(String[] argv) {
    
            Map<String, Integer> map = new HashMap<>();
            map.put("z", 10);
            map.put("b", 5);
            map.put("a", 6);
            map.put("c", 20);
            map.put("d", 1);
            map.put("e", 7);
            map.put("y", 8);
            map.put("n", 99);
            map.put("j", 50);
            map.put("m", 2);
            map.put("f", 9);
    
            System.out.println("Original...");
            System.out.println(map);
    
            //重声一个map用来装排序后的值
            Map<String, Integer> result = new LinkedHashMap<>();
    
            //sort by key, a,b,c..., and put it into the "result" map
            map.entrySet().stream()
                    .sorted(Map.Entry.comparingByKey())
                    .forEachOrdered(x -> result.put(x.getKey(), x.getValue()));
    
            System.out.println("Sorted...");
            System.out.println(result);
    
        }

    根据value排序

       public static void main(String[] argv) {
    
            Map<String, Integer> map = new HashMap<>();
            map.put("z", 10);
            map.put("b", 5);
            map.put("a", 6);
            map.put("c", 20);
            map.put("d", 1);
            map.put("e", 7);
            map.put("y", 8);
            map.put("n", 99);
            map.put("j", 50);
            map.put("m", 2);
            map.put("f", 9);
            System.out.println("Original...");
            System.out.println(map);
            //重声一个map用来装排序后的值
            Map<String, Integer> result = new LinkedHashMap<>();
            //sort by key, a,b,c..., and put it into the "result" map
            map.entrySet().stream()
                    .sorted(Map.Entry.<String, Integer>comparingByValue().reversed())  // reversed倒序,不指定类型,会默认为<java.util.Map.Entry<java.lang.Object,V>>
                    .forEachOrdered(x -> result.put(x.getKey(), x.getValue()));
    
            System.out.println("Sorted...");
            System.out.println(result);
    
        }
  • 相关阅读:
    谷歌浏览器离线安装
    C语言restrict关键字的使用
    Win32编程中radiobutton的分组
    在SourceForge中建立开源项目
    [转载]Linux解压缩命令
    [转载]vim配置文件
    解决VC6在win7下打开文件崩溃问题
    gson解析复杂的json数据
    catch中return语句的执行时间
    踏出了学习clojure的第一步
  • 原文地址:https://www.cnblogs.com/zhangweibin/p/12880651.html
Copyright © 2011-2022 走看看