순서
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]}
'개발 공부' 카테고리의 다른 글
[Stateful vs Stateless] feat. TCP, UDP, HTTP (0) | 2024.10.24 |
---|---|
[CLI vs GUI] feat. UX, UI (0) | 2024.09.04 |
[다양한 코딩 스타일] feat. GNU, K&R, BSD (0) | 2024.01.19 |
[파이썬 슬라이스 사용하기] feat. 시퀀스 자료형 (0) | 2024.01.16 |
[AWS LB(Load Balancer)] feat. ALB, NLB (2) | 2023.12.05 |