Java 如何让HashMap集合按照value进行排序呢?
下文笔者讲述java中HashMap集合按照value排序的方法分享,如下所示:
实现思路: 自定义一个外部比较器,在比较器中设置其比较规则例:
package com.java265.other; import java.util.Arraylist; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; public class Test { public static void main(String[] args) throws Exception { Map<String, Integer> m = new HashMap<>(); m.put("java", 8); m.put("c", 33); m.put("python", 44); m.put("cSharp", 11); System.out.println(m); System.out.println("------------"); List<Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(m.entrySet()); Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() { public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) { return (o2.getValue() - o1.getValue()); } }); System.out.println(list); } } ------运行以上代码,将输出以下信息----- {python=44, java=8, c=33, cSharp=11} ------------ [python=44, c=33, cSharp=11, java=8]
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。