1.ArrayList和LinkedList的区别?
- 数据结构实现:ArrayList :基于数组,容量不够时候采用复制方式扩容。LinkedList:使用链表实现。
- 随机访问效率:ArrayList 比 LinkedList 在随机访问的时候效率要高,因为 LinkedList 是链表结构,需要依次查找元素,性能不高。
- 增加和删除效率: LinkedList 首位操作具备很高效率。ArrayList 的头部性能稍差。
- 线程安全:ArrayList 和 LinkList 都是不同步的,不保证线程安全。
- 综合来说,需要频繁读取集合中的元素时,更推荐使⽤用Arrayist;而在头尾增删操作较多时,更
推荐使用 LinkedList。ArrayList综合性能优秀,优选之!
2.Collection和Collections的区别?
- Collection 是⼀个集合接口,集合类的一个顶级接口。它定义了集合通用方法。
- Collection 接口直接继承接口有 List 与 Set。
- Collections 则是集合类的一个工具类,其中提供了一系列静态方法,用于对集合 中元素进行排
序、搜索以及线程安全等各种操作。