맵 정렬

1711 단어 Blog
맵을 이용하여 대상을 어떻게 정렬합니까
 
map의 키,value 정렬
 
맵의 키를 정렬하는 것은 매우 간단합니다.
HashMap   map   =   new   HashMap();  
         map.put("0201",   "0201");  
         map.put("01",   "01");  
         map.put("0304",   "0304");  
         map.put("0101",   "0101");  

         Object[]   key   =     map.keySet().toArray();  
         Arrays.sort(key);  

         for   (int   i   =   0;   i   <   key.length;   i++)   {  
                 System.out.println(map.get(key[i]));  
         }   

됐어.
 
그러나value에 대한 정렬은 이렇게 간단할 수 없습니다. 비교를 다시 써야 합니다.
Map hashMap = new HashMap();

List arrayList = new ArrayList(hashMap.entrySet());

Collections.sort(arrayList, new Comparator() {
   public int compare(Object o1, Object o2) {
    Map.Entry obj1 = (Map.Entry) o1;
    Map.Entry obj2 = (Map.Entry) o2;
    return (obj1.getKey()).toString().compareTo(obj2.getKey());
   }
  });
//   HASHMAP      -------------------------------------------
  for (Iterator iter = arrayList.iterator(); iter.hasNext();) {
   Map.Entry entry = (Map.Entry) iter.next();
   String     key = (String)entry.getKey();
   ..........
  }

 
참조: http://www.java1995.cn/blog/item/466

좋은 웹페이지 즐겨찾기