- @SuppressWarnings("unchecked")
- public static Map.Entry[] getSortedHashtableByValue(Map h) {
- Set set = h.entrySet();
- Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set
- .size()]);
- Arrays.sort(entries, new Comparator() {
- public int compare(Object arg0, Object arg1) {
- Long key1 = Long.valueOf(((Map.Entry) arg0).getValue().toString());
- Long key2 = Long.valueOf(((Map.Entry) arg1).getValue().toString());
- return key1.compareTo(key2);
- }
- });
- return entries;
- }
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
----------簡單的方式
package com.huawei.entity;
import java.util.Arrays;
import java.util.HashMap;
public class texta {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
HashMap<String, String> map = new HashMap<String, String>();
map.put("cipath","2012-07-04");
map.put("samid","2012-07-03");
map.put("model","2012-07-07");
map.put("samtype","2012-07-01");
for (String str : map.values()) {
System.out.println("------------");
System.out.println(str);
}
Object[] key = map.keySet().toArray();
Arrays.sort(key);
for (int i = 0; i < key.length; i++) {
System.out.println("+++++++"+map.get(key[i]));
}
}
}