LinkedMultiValueMap

MMM·2023년 8월 17일

코드 공부하다가 LinkedMultiValueMap을 발견하게 됐다. 처음 보는 Map이라 공부할 목적으로 작성하는 글. 근데 별 특이점 없이 Map<K, List<V>>를 쉽게 사용하고 싶을 때 사용할 수 있는 클래스였음.
JAVA API가 아니라 Spring API인 점에 주의.


MultiValueMap<K, V>

Spring 공식 문서
LinkedMultiValueMap의 조상이라 먼저 보기로 함

정의

  • JAVA API가 아닌 만큼 package는 org.springframework.util
  • 정의 : 여러 값을 저장하는 Map 인터페이스를 상속함
    • Map<K, List<V>>를 상속했다는 데서 대충 느낌이 옴
  • 클래스가 아닌 인터페이스
  • 신기한 건 HttpHeaders와 WebSocketHttpHeaders가 이걸 상속했다는 것. 그런데 왜 이 인터페이스를 처음 들어봤지. 신기함. StompHeaders는 나중에 찾아보기.

메서드


LinkedMultiValueMap<K,V>

스프링 공식문서

정의

  • ArrayList 안에 여러 값을 저장하는 LinkedHashMap 형태의 MultiValueMap 구현체
    • Map 구현체라 thread-safe하지 않다고 함. 애초에 single thread에서만 사용할 목적으로, request 객체에서 노출된 데이터 구조를 위해 설계했다고.

생성자


메서드

  • MultiValueMapAdapter의 메서드

참고

Spring 공식 문서 - MultiValueMap
Spring 공식 문서 - LinkedMultiValueMap

profile
과거의 내가 현재의 나보다 똑똑할 때가 있다.

0개의 댓글