数组
数组是相同类型数据的有序的集合,有四个基本特点
长度固定,一旦创建,长度就不会发生改变
元素是相同数据类型的
元素可以是基本类型也可以是引用类型
数组内的元素可以通过下标快速的实现查询和修改,但插入数据和删除数据相对就会比较慢
ArrayList
ArrayList底层数据结构还是数组,通过下标索引可以快速的实现查询和修改,插入和删除相对较慢
ArrayList可以实现动态扩容,不像数组那样无法改变长度
LinkedList 是一个继承于AbstractSequentialList的双向链表。
LinkedList 可以被当作堆栈、队列或双端队列进行操作。
LinkedList 实现 List 接口,所以能对它进行队列操作。
LinkedList 实现 Deque 接口,能将LinkedList当作双端队列使用。
LinkedList 实现了Cloneable接口,即覆盖了函数clone(),能克隆。
LinkedList 实现java.io.Serializable接口,所以LinkedList支持序列化,能通过序列化去传输。
LinkedList 是非同步的。
总结
根据以上的信息,在实际选用时应该根据需求,如果查询修改比较多应该选用ArrayList,如果增加和删除操作比较多应该选择Link