容器
不会JAVA的运营不是好数分
这个作者很懒,什么都没留下…
展开
-
Map容器的问题
1 Map 整体数据结构类问题 1.1 HashMap 底层数据结构 答:HashMap 底层是数组 + 链表 + 红黑树的数据结构,数组的主要作用是方便快速查找,时间复杂度是 O(1),默认大小是 16,数组的下标索引是通过 key 的 hashcode 计算出来的,数组元素叫做 Node,当多个 key 的 hashcode 一致,但 key 值不同时,单个 Node 就会转化成链表,链表的查询复杂度是 O(n),当链表的长度大于等于 8 并且数组的大小超过 64 时,链表就会转化成红黑树,红黑树的查询原创 2020-06-11 20:49:30 · 236 阅读 · 0 评论 -
List 源码的问题
1.1 List 源码的问题 List分为ArrayList 和 LinkedList 这里通过问题的方式来引入。 1.2 扩容类问题 1.2.1 ArrayList 无参数构造器构造,现在 add 一个值进去,此时数组的大小是多少,下一次扩容前最大可用大小是多少? 答:此处数组的大小是 1,下一次扩容前最大可用大小是 10,因为 ArrayList 第一次扩容时,是有默认值的,默认值是 10,在第一次 add 一个值进去时,数组的可用大小被扩容到 10 了。 1.2.2 如果我连续往 list 里面新增值原创 2020-06-11 20:48:33 · 127 阅读 · 0 评论