HashMap / TreeMap / LinkedHashMap / MultiValueMap

SUADI·2022년 10월 8일
0

항해 스프링 숙련주차 중 코드에서 MultiValueMap 이라는 생소한 클래스가 나왔다. 포스팅할 내용은 스프링 쪽에도 넘치고 넘치지만 공부와 실습하느라 너무 바쁘다. 자바 문법은 예전부터 Map의 종류에 대해 공부해보고 싶기도 했고, 나중에 까먹어도 내가 찾아볼 수 있도록 시간을 내서 포스팅해보려고 한다.

HashMap

  • Map 의 기본 형태이다.
  • key 와 value의 한 쌍으로 데이터를 저장한다.
  • key 의 중복이 허용되지 않는다. (나중에 언급하겠지만 가능은 하다.)
  • 데이터의 순서를 보장하지 않는다.

TreeMap

  • 기본적으로 HashMap과 동일한 기능이다.
  • key값에 따라 오름차순으로 자동 정렬이 된다.

LinkedHashMap

  • 기본적으로 HashMap과 동일한 기능이다.
  • map에 입력되는 순서에 따라 데이터가 저장된다.

MultiValueHashMap

  • 기본적으로 HashMap과 동일한 기능이다.
  • key 값의 중복되어도 각각의 value값이 모두 저장된다.

HashMap은 key 값이 중복되었을 경우 마지막 key의 value값이 저장된다. 하지만 위에 언급했듯이 중복된 key의 value값을 모두 저장하는 것이 가능하기는 하다. value의 타입을 List 로 받으면 가능은 하다.

하지만 직관성이 떨어지기 때문에 굳이 key값에 여러 value값을 넣어야만 한다면 MultiValueMap을 사용하는 것이 좋겠다.

0개의 댓글

관련 채용 정보