List(列表)
List :一个元素有序、可重复的集合。集合中每个元素都有其对应的顺序索引。
我们可以直接通过 add 方法添加元素,使用 add 方法的时候也可以根据索引值将数据插入特定位置;可以通过 set()修改指定索引值位置的元素;可以通过indexOf()获取指定元素的索引值。
List是一个接口类,他的主要实现类包括ArrayList、LinkedList、set、vector等。
1、ArrayList: 代表长度是可以改变的数组,可以对元素进行随机的访问,向ArrayList()中插入与删除元素的速度慢。他只适合随机查找、遍历,快速访问等。
注意:ArrayList数据放满后会创建新数组存放,原数组将不存在。
2、LinkedList: 在实现中采用链表数据结构,插入和删除速度快,访问速度慢,另外他还提供了List接口中没有定义的方法,专门用于操作表头和表尾元素,可以当作堆栈、队列和双向队列使用。
一般来说,数组以一块连续内存区来保存所有的数组元素,所以,数组在随机访问时性能最好,所有内部以数组作为底层实现的集合在随机访问的时候性能都比较好;而内部以链表作为底层实现的集合在执行插入、删除操作时性能比较好;但总体来说,ArrayList 的性能要比 LinkedList 的性能要好,因此我们优先考虑使用 ArrayList。