map 排序

  1. @SuppressWarnings("unchecked"
  2. public static Map.Entry[] getSortedHashtableByValue(Map h) { 
  3. Set set = h.entrySet(); 
  4. Map.Entry[] entries = (Map.Entry[]) set.toArray(new Map.Entry[set 
  5. .size()]); 
  6. Arrays.sort(entries, new Comparator() { 
  7. public int compare(Object arg0, Object arg1) { 
  8. Long key1 = Long.valueOf(((Map.Entry) arg0).getValue().toString()); 
  9. Long key2 = Long.valueOf(((Map.Entry) arg1).getValue().toString()); 
  10. return key1.compareTo(key2); 
  11. }); 
  12. return entries; 
  13. }




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]));
       }
 

 }

}


 

發佈了22 篇原創文章 · 獲贊 4 · 訪問量 31萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章