zoukankan      html  css  js  c++  java
  • Java8-对map排序

    1、Java8对map按key排序

    /**
     * @author : fengkun
     * @date : 19-3-10
     * 内容 : Java8对map按key排序
     */
    public class SortByKeyExample {
    
        public static void main(String[] args) {
            Map<String, Integer> unsortMap = new HashMap<>();
            unsortMap.put("z", 10);
            unsortMap.put("b", 5);
            unsortMap.put("a", 6);
            unsortMap.put("c", 20);
            unsortMap.put("d", 1);
            unsortMap.put("e", 7);
            unsortMap.put("y", 8);
            unsortMap.put("n", 99);
            unsortMap.put("g", 50);
            unsortMap.put("m", 2);
            unsortMap.put("f", 9);
            System.out.println(unsortMap);
    
            Map<String, Integer> result1 = unsortMap.entrySet().stream()
                    .sorted(Map.Entry.comparingByKey())
                    .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
                            (oleValue, newValue) -> oleValue, LinkedHashMap::new));
            System.out.println(result1);
    
            Map<String, Integer> result2 = new LinkedHashMap<>();
            unsortMap.entrySet().stream()
                    .sorted(Map.Entry.comparingByKey())
                    .forEachOrdered(x -> result2.put(x.getKey(), x.getValue()));
            System.out.println(result2);
        }
    }

    2、Java8对map按Vaule排序

    /**
     * @author : fengkun
     * @date : 19-3-10
     * 内容 : Java8对map按Vaule排序
     */
    public class SoryByKeyExample {
    
        public static void main(String[] args) {
            Map<String, Integer> unsortMap = new HashMap<>();
            unsortMap.put("z", 10);
            unsortMap.put("b", 5);
            unsortMap.put("a", 6);
            unsortMap.put("c", 20);
            unsortMap.put("d", 1);
            unsortMap.put("e", 7);
            unsortMap.put("y", 8);
            unsortMap.put("n", 99);
            unsortMap.put("g", 50);
            unsortMap.put("m", 2);
            unsortMap.put("f", 9);
            System.out.println(unsortMap);
    
            Map<String, Integer> result1 = unsortMap.entrySet().stream()
                    .sorted(Map.Entry.comparingByValue(Comparator.reverseOrder()))
                    .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue,
                            (oldValue, newValue) -> oldValue, LinkedHashMap::new));
    
            System.out.println(result1);
    
            Map<String, Integer> result2 = new LinkedHashMap<>();
            unsortMap.entrySet().stream()
                    .sorted(Map.Entry.<String, Integer>comparingByValue().reversed())
                    .forEachOrdered(x -> result2.put(x.getKey(), x.getValue()));
            System.out.println(result2);
        }
    }
  • 相关阅读:
    ES亿级别数据分页
    RabbitMQ的工作模式
    作为应用运维需要具备的mysql知识
    非原创-Kubernetes的初始化容器initContainers
    python-俩个文件的合并
    K8S基础学习-SSL通信认证机制
    k8s基础学习—计算机资源管理
    k8s基础学习-serviceaccount
    K8S基础学习-API服务器的安全防护
    Python日志模块logging
  • 原文地址:https://www.cnblogs.com/fengkunangel/p/10507916.html
Copyright © 2011-2022 走看看