专注Java教育14年 全国咨询/投诉热线:444-1124-454
赢咖4LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 关于map按key排序的介绍

关于map按key排序的介绍

更新时间:2022-12-30 10:54:18 来源:赢咖4 浏览289次

map中的key进行排序

   Map<String, String> value = entry.getValue();         
Map<String, String> collect = value.entrySet().stream().sorted(Map.Entry.comparingByKey()).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (oldVal, newVal) -> oldVal, LinkedHashMap::new));

若数据是 List<Map<String, Object>> value,对其进行排序:

private List<Map<String, Object>> dealSorted(List<Map<String, Object>> value) {
        Collections.sort(value, new Comparator<Map<String, Object>>() {
            @Override
            public int compare(Map<String, Object> o1, Map<String, Object> o2) {
                String cserialno1 = o1.get("serialNo").toString();
                String cserialno2 = o2.get("serialNo").toString();
                return cserialno2.compareTo(cserialno1);
            }
        });
        return value;
    }

使用Java流来做排序:

public static void main(String[] args) {
        Map<String, Integer> codes = new HashMap<>();
        codes.put("United States", 1);
        codes.put("Germany", 49);
        codes.put("France", 33);
        codes.put("China", 86);
        codes.put("Pakistan", 92);
        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
                        )
                );
        sortedMap.entrySet().forEach(System.out::println);
    }

 

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>