谁是java中更快的hashmap.get或treemap.get

Bha*_*esh 0 java collections

在某处,我读到的HashMap.get(object)比它更快TreeMap.get(object).但我的问题是为什么他的速度更快,甚至两者都会在检索时使用散列函数object.

Era*_*ran 5

TreeMapMap接口的二叉搜索树实现.因此任何查找操作都需要O(logN)时间.

另一方面,HashMap使用hashCode()密钥在恒定时间内定位包含密钥的bin.由于每个bin具有由小常量限制的预期条目数,因此查找需要O(1)时间,这比时间快O(logN).