의문점 공부하기/📌 Java

📌 그렇다면 각각 어떤 상황에서 HashMap과 TreeMap을 선택하는가?!

아리빠 2023. 6. 23. 09:59

HashMap:

  • 빠른 검색 및 삽입: HashMap은 해시 함수를 사용하여 키-값 쌍을 저장하므로, 키를 기반으로 빠른 검색과 삽입이 가능해시 함수의 성능에 따라 검색 및 삽입 성능이 달라질 수 있다.
  • 정렬된 순서 필요 없음: HashMap은 키의 순서를 보장하지 않음, 키-값 쌍이 삽입된 순서에 따라 저장되지만, 순서를 유지하지 않아, 정렬된 순서가 필요하지 않은 경우에 적합
  • 중복된 키 허용하지 않음: HashMap은 중복된 키를 허용하지 않음,  동일한 키로 여러 값을 저장하려고 하면 마지막으로 삽입된 값으로 덮어씌워진다

TreeMap:

  • 정렬된 순서 필요: TreeMap은 이진 검색 트리를 기반으로 키-값 쌍을 저장하며, 키를 기준으로 정렬된 순서를 유지   => 정렬된 순서가 필요한 경우에 적합
  • 범위 검색: TreeMap은 키의 범위 검색에 용이, 특정 범위 내의 키-값 쌍을 검색하거나, 특정 범위의 키-값 쌍을 가져올 수 있다.
  • 중복된 키 허용하지 않음: TreeMap은 중복된 키를 허용하지 않음, 동일한 키로 여러 값을 저장하려고 하면 마지막으로 삽입된 값으로 덮어씌워진다

정렬된 순서가 필요하고, 범위 검색이 필요한 경우에는 TreeMap을 선택..!


정렬된 순서가 필요하지 않고, 빠른 검색 및 삽입이 필요한 경우에는 HashMap을 선택...!