본문 바로가기
학습

[문법] HashMap 사용하기

by 공덕뉸나 2024. 7. 30.

코딩테스트를 준비하면서 내림차순으로 정렬하고, HashMap에서 키만 배열에 담아 반환하는 코드를 구현하였다.

 

HashMap<Integer, Double> result = new HashMap<>()를 정의하고 이에 저장된 값을 반환한다고 가정하면 코드는 아래와 같았다.

return result.entrySet().stream().sorted((o1, o2) -> Double.compare(o2.getValue(), o1.getValue())
.mapToInt(HashMap.Entry::getKey).toArray();

 

 

entrySet()

Map에서 모든 Entry(Key - Value 쌍)을 가져와 Set 객체로 반환함

반복문을 이용하여 각 Entry에 순차적으로 접근 할 수 있음

 

sorted((o1, o2) -> Double.compare(o2.getValue(), o1.getvalue())

값을 기준으로 내림차순 정렬

 

mapToInt(HashMap.Entry::getKey).toArray()

정렬된 데이터에서 키만 int형 배열에 담아 반환함

 

코드를 구현하다보니 익숙하지 않은 코드들이 꽤 있어서 하나씩 정리해가며 익혀야겠다.