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);
    
        }
  • 相关阅读:
    JS数据类型
    javaws运行jnlp文件被阻止(安全级别过高)
    linux sysctl的使用
    面向对象-特性property
    面向对象-封装
    面向对象-鸭子类型
    面向对象-多态与多态性
    面向对象-抽象类
    面向对象-组合
    面向对象-在子类使用父类的对象或属性
  • 原文地址:https://www.cnblogs.com/zhangweibin/p/12880651.html
Copyright © 2011-2022 走看看