HashMap을 Value값으로 소트하기

Map<String, Integer> map = countnigByUA.get(url); // Sorting TreeMap<String,Integer> sortedMap = new TreeMap<String,Integer>(new ValueComparator(map)); sortedMap.putAll(map); for (String key : sortedMap.keySet()) { // key값은 정렬된 순서대로 나오지만 sortedMap.get으로 가져오면 null // HashMap이기때문에 키의 hash값이 변경되었기 때문인듯. System.out.println(key + “=” + map.get(key)); } static class ValueComparator implements Comparator<String> { Map<String, Integer> base; public ValueComparator(Map<String, Integer> base) { this.base = base; } public int compare(String ipA, String ipB) { if (base.get(ipA) >= base.get(ipB)) { return -1; } else { return 1; } } } ]]>

Related Posts