Map集合排序


public static void main(String[] args) {
//這里自定義一個需要排序的map集合
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("1.B.1.c", 45);
map.put("1.B.1.d", 65);
map.put("1.B.1.a", 12);
map.put("1.B.1.b", 15);
map.put("1.B.1.e", 78);
int size = map.size();
// 通過map.entrySet()將map轉換為"1.B.1.e=78"形式的list集合
List<Map.Entry<String, Integer>> list = new ArrayList<Map.Entry<String, Integer>>(size);
list.addAll(map.entrySet());
// 通過Collections.sort()排序
Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {
public int compare(Map.Entry<String, Integer> o1, Map.Entry<String, Integer> o2) {
// compareTo方法 (x < y) ? -1 : ((x == y) ? 0 : 1)
return o1.getValue().compareTo(o2.getValue());
};
});
for (Entry<String, Integer> entry : list){
// 得到排序后的鍵值
System.out.println(entry.getKey());
}
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM