코딩테스트를 준비하면서 내림차순으로 정렬하고, 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형 배열에 담아 반환함
코드를 구현하다보니 익숙하지 않은 코드들이 꽤 있어서 하나씩 정리해가며 익혀야겠다.
'학습' 카테고리의 다른 글
[문법] 자바에서 사용되는 API (1) | 2024.04.18 |
---|---|
[Java] JPA 강의 - 8 (프록시와 연관관계 관리) (0) | 2024.02.15 |
[Java] JPA 강의 - 7 (고급 매핑) (1) | 2024.02.05 |
[Java] JPA 강의 - 6 (다양한 연관관계 매핑) (0) | 2024.01.29 |
[Java] JPA 강의 - 5 (연관관계 매핑 기초) (0) | 2024.01.18 |