ArrayList底层实现总结---面试题
ArrayList底层实现总结
实现是非常简单的
add方法是如何实现的呢
- 1.先进行判断,判断集合的容量是否能装的下
- 2.如果装不下就扩容,是以1.5倍 将原来的数组容量拷贝到新数组中
get方法是如何实现的呢
- 1.直接提供了根据index 下标进行查询,效率是非常高的
Remove方法是如何实现的呢
- 1.先查找到删除对应index的下标位置+1 到最后index元素值向前移动一位
在来一个面试题吧
总结:Vector和ArrayList集合的区别
相同点:
- 1.ArrayList和Vector默认 初始化容量=10
- 2.都是基于数组实现的
- 3.都是List下的子类
不同点:
- 1.Arraylist 线程是不安全的,Vector线程是安全的
- 2.ArrayList 每次扩容是原来的1.5倍
- 3.Vector每次扩容是原来的2倍
- 4.Vector可以设置每次扩容的容量
- 5.Arraylist 懒加载的形式初始化容量的 Vector直接通过构造函数初始化 数组的容量就是10

浙公网安备 33010602011771号