摘要:
扩容规则 ArrayList() 会使用长度为零的数组 ArrayList(int initialCapacity) 会使用指定容量的数组 public ArrayList(Collection<? extends E> c) 会使用 c 的大小作为数组容量 add(Object o) 首次扩容为 阅读全文
posted @ 2021-11-04 00:12
chaosssock
阅读(104)
评论(0)
推荐(0)
摘要:
LinkedList 基于双向链表,无需连续内存 随机访问慢(要沿着链表遍历) 头尾插入删除性能高 占用内存多 ArrayList 基于数组,需要连续内存 随机访问快(指根据下标访问) 尾部插入、删除性能可以,其它部分插入、删除都会移动数据,因此性能会低 可以利用 cpu 缓存,局部性原理 阅读全文
posted @ 2021-11-04 00:11
chaosssock
阅读(28)
评论(0)
推荐(0)
摘要:
1)基本数据结构 1.7 数组 + 链表 1.8 数组 + (链表 | 红黑树) 2)树化与退化 树化意义 红黑树用来避免 DoS 攻击,防止链表超长时性能下降,树化应当是偶然情况,是保底策略 hash 表的查找,更新的时间复杂度是 $O(1)$,而红黑树的查找,更新的时间复杂度是 $O(log_2 阅读全文
posted @ 2021-11-04 00:08
chaosssock
阅读(843)
评论(0)
推荐(0)