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);
    
        }
  • 相关阅读:
    cliconfg
    SQL 校验身份证格式
    常用MIME类型汇总
    SqlBulkCopy批量将Excel(Aspose)数据导入至SQL Server
    C#生成图片验证码
    SqlServer PIVOT函数快速实现行转列,UNPIVOT实现列转行
    SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
    C#常用加密方式
    CURSOR 游标使用示例
    linux命令
  • 原文地址:https://www.cnblogs.com/zhangweibin/p/12880651.html
Copyright © 2011-2022 走看看