어딘가에서 HashMap.get(object)
을 읽고 TreeMap.get(object)
보다 빠릅니다. 하지만 내 질문은 왜 그가 심지어 더 빠른 두 해시 함수를 작동하는 동안 object
검색하는 것입니다.더 빠른 hashmap.get 또는 treemap.get은
0
A
답변
5
TreeMap
은 Map
인터페이스의 이진 검색 트리 구현입니다. 따라서 조회 작업을 수행하려면 O(logN)
시간이 필요합니다.
한편, HashMap
은 hashCode()
키를 사용하여 일정 시간 내에 키가 들어있는 저장소를 찾습니다. 각 bin에는 예상되는 항목 수가 작은 상수로 묶여 있으므로 조회에는 O(1)
시간이 필요하며 보다 빠릅니다. TreeMap
가 Comparable or Comparator
을 비교하여 어떤 메커니즘을 사용하는 반면만큼이나 간단
1
, HashMap
put/get
방법은 hashCode()
equals()
및 방법을 사용한다.
한 번 더 포인트,
HashMap
시간이 더 효율적이다. TreeMap
은 공간 효율성이 더 좋습니다.
'TreeMap'은 해싱을 사용하지 않습니다. – Kayaman
어쩌면 다음을보십시오 : https://stackoverflow.com/questions/7057430/treemap-or-hashmap-faster –