Java

HashMap 과 TreeMap의 주요 차이점

할수있다!긍정왕 2019. 11. 8. 10:38

1. HashMap은 어떤 순서도 유지하지 않습니다.

즉, HashMap 은 최초로 삽인된 요소가 최초로 인쇄되는 것을 보증하지 않습니다.

TreeSet와 같이, Treemap요소도 요소의 자연순서 부에 따라 소트됩니다.

 

2. 내부 HashMap구현은 Hashing을 사용하고 TreeMap은 Red-black트리 구현을 내부적으로 사용합니다.

 

3. HashMap은 하나의 nulll키와 많은 null values를 저장할수 있습니다.

  TreeMap은 Null키를 포함할수 없지만 많은  null값을 포함할 수 있습니다.

 

4. HashMap은 O(1)과 같은 get과 put 같은 기본 연산에 대해 일정한 시간 성능을 나타냅니다.

오라클 문서에 따르면  TreeMap은 get 및 put 메소드에 대한 log(n) 시간 보장 비용을 제공합니다.

 

5. HashMap의 성능 시간은 대부분의 작업에서 TreeMap에 대해 일정하므로 HashMap은 TreeMap보다 훨씬 빠릅니다.

 

6. HashMap은 비교해서 equals() 메소드를 사용하지만

TreeMap은 ordering 을 유지하기 위해 compareTo() 메소드를 사용합니다..

 

7. HashMap은 Map 인터페이스를 구현하고 TreeMap은 NavigableMap인터페이스를 구현합니다.