随笔分类 - 面试
摘要:HashMap 底层数据结构,1.7和1.8? 1.7数据加链表 1.8数组加链表或者红黑树 链表中元素多变化为红黑树,删除退化为链表 为何一上来不树化,树化阈值为何是8,何时会树化,何时退化为链表? 1.7时候链表太长了会影响性能,数组容量大于64 和阈值大于8同时满足 为何一上来不进行树化 链表
阅读全文
摘要:ArrayList 和 Linklist Arraylist 1.基于数组,需要连续内存 2.随机访问快 3.尾部插入,删除性能可以,其他部分插入会移动数据,性能差。 4.可以利用cpu缓存,局部性原理。 LinkedList 1.基于双向链表,无序连续内存 2.随机访问慢 3.头尾插入删除性能高
阅读全文
摘要:初始长度为0数组 ArrayList()会使用长度为0的数组 ArrayList(int initalCapacity) 会使用自定容器的数组 如果初始不是0 add()首次扩容为10,再次扩容为1.5倍 addAll()会在元素与下次扩容1.5倍选最大值 Iterator (迭代器) 遍历集合 遍
阅读全文