转自:
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 { Mapm = 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 > list = new ArrayList >(m.entrySet()); Collections.sort(list, new Comparator >() { public int compare(Map.Entry o1, Map.Entry 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]