HashMap:
- 빠른 검색 및 삽입: HashMap은 해시 함수를 사용하여 키-값 쌍을 저장하므로, 키를 기반으로 빠른 검색과 삽입이 가능해시 함수의 성능에 따라 검색 및 삽입 성능이 달라질 수 있다.
- 정렬된 순서 필요 없음: HashMap은 키의 순서를 보장하지 않음, 키-값 쌍이 삽입된 순서에 따라 저장되지만, 순서를 유지하지 않아, 정렬된 순서가 필요하지 않은 경우에 적합
- 중복된 키 허용하지 않음: HashMap은 중복된 키를 허용하지 않음, 동일한 키로 여러 값을 저장하려고 하면 마지막으로 삽입된 값으로 덮어씌워진다
TreeMap:
- 정렬된 순서 필요: TreeMap은 이진 검색 트리를 기반으로 키-값 쌍을 저장하며, 키를 기준으로 정렬된 순서를 유지 => 정렬된 순서가 필요한 경우에 적합
- 범위 검색: TreeMap은 키의 범위 검색에 용이, 특정 범위 내의 키-값 쌍을 검색하거나, 특정 범위의 키-값 쌍을 가져올 수 있다.
- 중복된 키 허용하지 않음: TreeMap은 중복된 키를 허용하지 않음, 동일한 키로 여러 값을 저장하려고 하면 마지막으로 삽입된 값으로 덮어씌워진다
정렬된 순서가 필요하고, 범위 검색이 필요한 경우에는 TreeMap을 선택..!
정렬된 순서가 필요하지 않고, 빠른 검색 및 삽입이 필요한 경우에는 HashMap을 선택...!
'의문점 공부하기 > 📌 Java' 카테고리의 다른 글
📌 HashSet 구현 원칙은 무엇일까? (0) | 2023.06.27 |
---|---|
📌 HashMap 구현 원칙은 무엇일까? (0) | 2023.06.26 |
📌 HashMap과 Hashtable의 차이는?! (0) | 2023.06.22 |
📌 List, Set, Map의 차이점은!? (0) | 2023.06.21 |
📌 Collection과 Collections의 차이는 무엇일까? (0) | 2023.06.20 |