烦了就吃饭去

2020年5月15日

源码分析:JDK1.8的HashMap

摘要: JDK1.8的HashMap:底层实现(数组+链表+红黑树) 1.为什么要从JDK1.8之前的链表设计,修改为链表或红黑树的设计?当某个链表比较长的时候,查找效率还是会降低。为了提高查询效率,那么把table[index]下面的链表做调整。如果table[index]的链表的节点的个数比较少,(8个 阅读全文

posted @ 2020-05-15 22:13 烦了就吃饭去 阅读(124) 评论(0) 推荐(0) 编辑

源码分析:LinkedList/ /源码分析:JDK1.7的HashMap

摘要: LinkedList:1.内部实现:链表记录Node first Node last 2.add(xx)默认添加到链表的尾部linkLast(xx) 3.add(int index,xx) 4.remove(xx) JDK1.7及之前:HashMap的底层实现是数组+链表。 (1)数组的元素类型是什 阅读全文

posted @ 2020-05-15 22:12 烦了就吃饭去 阅读(90) 评论(0) 推荐(0) 编辑

源码分析:ArrayList

摘要: ArrayList:动态数组内部实现:数组 1.初始化大小:10如果JDK1.8时,new ArrayList(),发现数组初始化为一个DEFAULTCAPACITY_EMPTY_ELEMENTDATA,长度为0的空数组。如果JDK1.6时,new ArrayList(),发现数组直接初始化为一个长 阅读全文

posted @ 2020-05-15 22:11 烦了就吃饭去 阅读(86) 评论(0) 推荐(0) 编辑

导航