본문 바로가기
개발 공부

[MultiValueMap] feat. HashMap, TreeMap, LinkedHashMap

by 도됐좋 2024. 9. 2.
순서
1. HashMap, TreeMap, LinkedHashMap 특징 및 예제
2. MultiValueMap 특징 및 예제

 

✅ HashMap

- Map의 기본 형식

- Key, Value 한 쌍의 데이터를 저장함

- 중복된 키 허용하지 않음

- 순서를 보장하지 않음

HashMap<Integer, String> hashMap = new HashMap<Integer, String>();
hashMap.put("CCC", "first data");
hashMap.put("BBB", "second data");
hashMap.put("AAA", "third data");
System.out.println(hashMap);

>>{AAA=third data, CCC=first data, BBB=second data}

 

 

✅ TreeMap

- 이진트리 기반의 Map 형식

- 데이터가 삽입될 때마다 자동으로 정렬됨

TreeMap<String, String> treeMap = new TreeMap<String, String>();
treeMap.put("CCC", "first data");
treeMap.put("BBB", "second data");
treeMap.put("AAA", "third data");
System.out.println(treeMap);

>>{AAA=third data, BBB=second data, CCC=first data}

 

 

✅ LinkedHashMap

- 이중 연결 리스트(Doubly-Linked List) 기반의 Map 형식

- 데이터의 입력 순서를 보장함

LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<String, String>();
linkedHashMap.put("CCC", "first data");
linkedHashMap.put("BBB", "second data");
linkedHashMap.put("AAA", "third data");
System.out.println(linkedHashMap);

>>{CCC=first data, BBB=second data, AAA=third data}

 


 

✅ MultiValueMap

- Spring에서 제공하는 인터페이스라 라이브러리 추가가 필요함

- 삽입 시 'put'이 아닌 'add'를 사용함

- 키의 중복이 허용됨

MultiValueMap<String, String> multiValueMap = new MultiValueMap<String, String>();
multiValueMap.add("AAA", "first data");
multiValueMap.add("AAA", "second data");
multiValueMap.add("AAA", "third data");
System.out.println(multiValueMap);

>>{AAA=[first data, second data, third data]}