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