阅读背景:

jdk7中hashmap实现原理和jdk8中hashmap的改进方法总结

来源:互联网 



从上图我们可以发现哈希表是由数组+链表组成的,一个长度为16的数组中,每个元素存储的是一个链表的头结点。那么这些元素是按照什么样的规则存储到数组中呢。一般情况是通过hash(key)%len获得,也就是元素的key的哈希值对数组长度取模得到。比如上述哈希表中,12%16=12,28%16=12,108%16=12,140%16=12。所以12、28、108以及140都存储在数组下标为12的位置。组成的,一个长度为16的数组中,每个元素存储的是一个链表




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: