본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Java(자바)

Java UnsupportedOperationException, unmodifiableList

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2019. 7. 19.

 

 

몽고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

반응형
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글