一、概述
List系列集合特点:有序、可重复、有索引
ArrayList:有序、可重复、有索引
LinkedList:有序、可重复、有索引
List集合因为支持索引,所以多了很多与索引相关的方法,Collection的功能List也都继承了
List的特有方法:
二、遍历方式
for循环、迭代器、增强for、lambda表达式
三、ArrayList底层原理
基于数组实现,根据索引查询速度快,删除效率低,要把后面的数据进行前移,同样添加效率低,要把数据后移或者可能需要进行扩容。
1.利用无参构造器创建的集合,会在底层创建一个默认长度为0的数组
2.添加第一个元素时,底层会创建一个新的长度为10的数组
3.存满时,会扩容1.5倍
4.一次添加多个元素,则新创建的数组的长度以实际为准
应用场景:根据随机索引取数据
四、LinkedList底层原理
基于双链表实现
特点:查询慢,增删相对较快,但对首尾元素进行增删改查的速度是很快的
LinkedList增加了很多首尾操作的特有方法:itheima图片
应用场景:可以用来设计队列