可以将Map传入ArrayList的构造器中,按照Map中的元素顺序构造一个泛型为Map.Entry<>的ArrayList,然后传入一个外比较器对ArrayList进行排序。
例如:
Map<Integer, Integer> map = new LinkedHashMap<Integer, Integer>();
List<Map.Entry<Integer, Integer>> list = new ArrayList<>(map.entrySet());
Collections.sort(list, new Comparator<Map.Entry<Integer, Integer>>(){
@Override
public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2){
return o2.getValue() - o1.getValue();//假如按照键值对的value排序!!!
}
});
https://bbs.csdn.net/topics/390220720?list=7829402