HashMap源码分析

王朝学院·作者佚名  2016-05-28
窄屏简体版  字體: 小  |  中  |  大  |  超大  

HashMap源码分析JDK中HashMap是一种最常用的基于哈希表的Map实现。具有一下特性:允许key和value都为null。非线程安全。默认容量 length : 1 << 4 = 16默认最大容量 1 << 30默认因子 loadfactor: 0.75fHashMap的实现思路:创建一个指定容量的数组用来存储链表对象对存入的内容的key通过hash算法取得对应都hash值将hash值与数组长度length-1取与,从而得到该key在数组中的下标如果该位置没有链表对象,在插入新的链表,返回null如果该位置已存在链表对象且不存在指定的key,在将内容插入到链表末尾,返回null如果该位置已存在链表对象且存在指定的key,在将内容替换,返回就内容size++当size >= threshold且该key的位置不为null,则进行扩容,大小为 2 * length * loadfactor

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航