1. 程式人生 > >對map集合按照value從大到小進行排序

對map集合按照value從大到小進行排序

sta 二叉 cti edm pri 數據表 iterator 表結構 .so

概述:

基本特點:

該集合存儲鍵值對,而且要保證鍵的惟一性

子類:

|--HashTable 底層是哈希數據表結構,不可以使用Null作為鍵或者值;該集合線程是同步的

|--hashMap 底層是哈希數據表結構,可以使用Null作為鍵或者值,該集合線程是不同步的

|--treemap 底層是二叉樹結構,線程不同步,可以對Map中的鍵值可以排序

Map集合的兩種取出方式(原理:將map集合轉換成set,再使用叠代器)

1.傳入map集合即可

public static Map sortByComparator(Map unsortMap){


List list = new LinkedList(unsortMap.entrySet());
// System.out.println("list:"+list);
Collections.sort(list, new Comparator()
{
public int compare(Object o1, Object o2)
{
return ((Comparable) ((Map.Entry) (o2)).getValue())
.compareTo(((Map.Entry) (o1)).getValue());

}
});
Map sortedMap = new LinkedHashMap();

for (Iterator it = list.iterator(); it.hasNext();) {
Map.Entry entry = (Map.Entry)it.next();
sortedMap.put(entry.getKey(), entry.getValue());
}
return sortedMap;

}

對map集合按照value從大到小進行排序