hashmap是数组和链表的结合体,数组每个元素存的是链表的头结点,往hashmap里面放键值对的时候先得到key的hashcode,然后计算hashcode,(让1分布均匀因为如果不均匀,低位全是0,则后来计算数组下标的时候会冲突),然后与length-1按位与,计算数组出数组下标,如果该下标对应的链表为空,则直接把键值对作为链表头结点,如果不为空,则遍历链表看是否有key值相同的,有就把value替换,没有就把该对象最为链表的第一个节点,原有的节点最为他的后续节点。
HashMap的原理
最新推荐文章于 2022-09-27 22:58:00 发布