摘要:
先放结论: 通过重写的hashcode 直接定位到key 的位置 , 根据重写的equals 保证唯一性。 hashCode()方法主要用来定位元素在数组中的下标位置; equals()方法主要是在发生hash冲突时,遍历链表,挨个比较元素时,判断两个元素是否相等。 重写hashCode(): 保证 阅读全文
posted @ 2022-05-03 22:40
草莓小甜心
阅读(341)
评论(0)
推荐(1)
摘要:
HashMap HashMap底层是一个数组,数组中每个元素是一个单链表(采用拉链法解决哈希冲突)。 JDK8之后,对HashMap底层数据结构(单链表)进行了改进 1.如果单链表元素超过8个,则将单链表转变为红黑树; 2.如果红黑树节点小于6时,再将红黑树变为单链表 这种方式也是为了提高检索效率, 阅读全文
posted @ 2022-05-03 21:06
草莓小甜心
阅读(95)
评论(0)
推荐(0)
摘要:
一、概要 ArrayList 底层就是⼀个 Object[] 数组, ArrayList 底层数组默认初始化容量为10; ArrayList的容量使用完之后,会“自动”创建容量更大的数组,并将原数组中所有元素拷贝过去,这会导致效率降低。 LinkedList底层是一个双向链表 ArrayList 构 阅读全文
posted @ 2022-05-03 17:35
草莓小甜心
阅读(63)
评论(0)
推荐(0)

浙公网安备 33010602011771号