who is faster hashmap.get or treemap.get in java
在某处我读到HashMap.get(object)比TreeMap.get(object)快。 但我的问题是为什么他的速度更快,甚至两者都会在检索object时使用散列函数。
-
TreeMap不使用散列。
-
也许看看:stackoverflow.com/questions/7057430/treemap-or-hashmap-faster
TreeMap是Map接口的二叉搜索树实现。 因此,任何查找操作都需要O(logN)时间。
另一方面,HashMap使用键的hashCode()在常量时间内定位包含键的bin。 由于每个bin具有由小常量限制的预期条目数,因此查找需要O(1)时间,这比O(logN)快。
很简单,HashMap put / get方法使用hashCode()和equals()方法,而TreeMap使用Comparable or Comparator使用某种比较机制。
还有一点,
HashMap更节省时间。 TreeMap更节省空间。