在java hashmap中查找正确的桶的顺序

问题描述:

在java hashmap中查找正确的桶的顺序是什么?在java hashmap中查找正确的桶的顺序

在hashmap中,第一个桶使用hashcode方法定位,然后我们使用equals方法遍历它,所以我的问题是在第一部分,找到所需键的桶的复杂性是什么。

+2

你可以在这里找到你所有的答案http://en.wikipedia.org/wiki/Hash_table(Java HashMap使用“分离链接”)。 – jtahlborn 2012-04-03 14:35:27

查找桶是O(1)。 Hashmap只是计算哈希码并使用它来索引存储桶槽。

这个实现为基本操作(get和put)提供了恒定的性能,假设散列函数在桶之间正确分散元素。迭代集合视图需要的时间与HashMap实例的“容量”(桶的数量)加上其大小(键值映射的数量)成正比。因此,如果迭代性能很重要,不要将初始容量设置得太高(或者负载因子太低)是非常重要的。

+2

它不提供“恒定时间”表现,它提供“摊销恒定时间”表现。 – jtahlborn 2012-04-03 14:58:03