DESKTOP-F6K5GEP_20200911-崔婧涓
一、问题
ArrayList 、LinkedList 、 Vector 区别
解决:
相同点:
1、都是 List 接口的实现类
2、都是有序、可重复、可排序的集合,都可以包含null元素
3、都支持迭代器操作
区别:
1、存放元素方式
ArrayList、Vector 内部采用数组来存储元素,支持随机访问、增删慢、查找快;
LinkedList 内部采用 链表 来存储元素,不支持随机访问、增删快、查找慢。
2、实现Queue 接口、Deque 接口
ArrayList 和 Vector 未实现 Queue 接口、Deque 接口,不支持队列操作;
LinkedList 实现了,支持队列、栈操作。
3、扩容方式不同
ArrayList 内部采用 倍数增长
的方式扩容
Vector 内部采用 增加固定增量
的方式扩容
LinkedList 内部采用链表实现,不需要扩容
4、线程安全
ArrayList 、LinkedList非线程安全,适用于单线程环境;
Vector 线程安全,适用于多线程环境
吐槽
感觉集合这块有点被绕晕了,还需要好好整理整理。
点赞