HashMap의 Comparator 이용하기.

리스트 같은 경우는 그냥 Comparator를 사용하면 되지만
Map같은 경우는 List로 바꾸어 준 후 리턴 받아 바꾸어 주는게 좋다.

예)

main(){
 HashMap<String,Integer> hm=new HashMap<String,Integer>();

Iterator iterator=SortByValue(hm).iterator();

 while(iterator.hasNext()){
    String temp = (String) iterator.next();
            System.out.println(temp + "  " + hm.get(temp));
   }

}



private static List SortByValue(HashMap map)
{
    List<String> list=new ArrayList<String>();
    list.addAll(map.keySet());
 
   Collection.sort(list,new Comparator(){

     public int compare(Object o1,Object o2)
    {
         Object v1=map.get(o1);
         Object v2=map.get(o2);

         return ((Comparable) v1).compareTo(v2);
    }
    }

}

댓글

이 블로그의 인기 게시물

(ElasticSearch) 결과에서 순서 정렬

(네트워크)폴링방식 vs 롱 폴링방식

(18장) WebSocekt과 STOMP를 사용하여 메시징하기