개발 및 연구 정보

java에서 map의 key를 value로 소팅하기

바보천사 2020. 3. 9. 13:06

public static List sortByValue(final Map map, boolean isASC) 

{

        List list = new ArrayList();

        list.addAll(map.keySet());

        

        Collections.sort(list, new Comparator() 

        {

        public int compare(Object o1, Object o2) 

        {

        Object v1 = map.get(o1);

        Object v2 = map.get(o2);

       

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

            }

        });


// 이 부분으로 내림/오름 차순 제어

        if(!isASC) Collections.reverse(list);


        return list;

    }