实现Map按key或按value排序
原理思路:用List实现排序,然后将List中的值遍历存入到LinkedHashMap
实现方式:
//这里将map.entrySet()转换成list
List
//然后通过比较器来实现排序
Collections.sort(list,new Comparator
//降序排序
public int compare(Entry
return o2.getValue().compareTo(o1.getValue());
}
});
Map
for(Entry
resultMap.put(map.getKey(), map.getValue());
}
备注:它虽然增加了时间和空间上的开销,但是通过维护一个运行于所有条目的双向链表,LinkedHashMap保证了元素迭代的顺序。该迭代顺序可以是插入顺序或者是访问顺序