몽고db에서 조회된 결과를 가져온 다음에 List에 담긴 HashMap을 정렬하는데 아래와 같은 오류가 발생 하였다.
java.lang.UnsupportedOperationException
Collections#unmodifiableList
해당 오류는 리스트에 unmodifiableList이 적용되었기 때문에 해당 리스트에 대한 변경행위를 금지하기 때문에 발생한 오류이다.
그럴때는 어쩔 수 없이 아래처럼 새로 객체를 생성해서 정렬을 다시 해 주면 된다.
List<HashMap> 리스트 = 몽고db.Aggregate(); //여기서 조회를해서 결과를 가져왔다.
List<HashMap> converting = new ArrayList<>(리스트); //요 부분이다. 리스트라는 내용을 다시 새로 만들어주면 된다.
converting.sort(Comparator.comparing(
m -> m.get("count").toString(), //count라는 HashMap의 키 값으로 정렬
Comparator.nullsLast(Comparator.reverseOrder()))
);
unmodifiableList에 관련된 글
https://lts0606.tistory.com/133
반응형
'Java(자바)' 카테고리의 다른 글
Java Files 클래스를 통한 파일 읽기(lines, read, newBufferedReader, readAllLines) (0) | 2019.07.25 |
---|---|
Java로 해보는 then 형태의 메소드 (0) | 2019.07.25 |
Java mail Transport의 커넥션을 활용한 속도 차이(일반발송, 동보발송) (0) | 2019.07.18 |
Java 1.8 컬렉션 stream, filter, map, foreach, sort (0) | 2019.07.15 |
Java HashMap 반복문(loop) (0) | 2019.07.11 |
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)
댓글