您的位置:首页 > 产品设计 > UI/UE

Java中如何实现Map的按值Value(非Key)排序

2011-01-19 20:17 1031 查看
Map<String, Integer> map = new TreeMap<String, Integer>();

map.put("j2se", 20);

map.put("j2ee", 10);

map.put("j2me", 30);

List<Map.Entry<String, Integer>> infoIds = new
ArrayList<Map.Entry<String, Integer>>(

map.entrySet());

//排序前

for (int i = 0; i < infoIds.size(); i++) {

String id =
infoIds.get(i).toString();

System.out.println(id);

}

//排序

Collections.sort(infoIds, new Comparator<Map.Entry<String,
Integer>>() {

public int compare(Map.Entry<String, Integer> o1,

Map.Entry<String, Integer> o2) {

return (o2.getValue() -
o1.getValue());

}

});

//排序后

for (int i = 0; i <
infoIds.size(); i++) {

String id = infoIds.get(i).toString();

System.out.println(id);

}

排序前:

j2ee=10

j2me=30

j2se=20

排序后:

j2me=30

j2se=20

j2ee=10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: