JAVA

Map 을 정렬된 ArrayList로 변환

kiwiiiv 2021. 11. 6. 00:39

map의 key 혹은 value 값을 이용하여 value 혹은 key 값을 정렬한 후, 결과를 ArrayList에 저장할 때

 

List<String> sortedList=map.entrySet().stream()
                .sorted(Comparator.comparing(Map.Entry::getValue,Comparator.reverseOrder()))
                .map(Map.Entry::getKey)
                .collect(Collectors.toList());

 

:

entrySet() 메소드를 이용하여 set으로 변환 후,

value 값을 기준으로 하여 역순(reverseOrder). 내림차순으로 정렬

 

 

++

더 짧은 코드!!!

ArrayList<Map.Entry<String, Integer>> sortedList
                = new ArrayList<>(map.entrySet());          //key-value fair 원소로 가짐
        sortedList.sort(Collections.reverseOrder(Comparator.comparingInt(Map.Entry::getValue)));

 

 


java - Converting HashMap to Sorted ArrayList - Stack Overflow

 

Converting HashMap to Sorted ArrayList

I have a HashMap<string, integer=""> containing words along with their frequencies. I need to now convert this HashMap into an ArrayList of just the words, discarding of the frequencies, but i a...</string,>

stackoverflow.com