List集合的特点

ArrayList,LinekList:有序,可重复,有索引
1.有序:存储和取出的顺序一样
2.有索引:可以通过索引操作元素
3.可重复:存储的元素可以重复

ArrayList集合的特有方法

ArrayList集合因为支持索引,所以多了很多索引操作的独特api,其它Collection的功能List也都继承了
image.png

ArrayList底层原理

ArrayList底层是基于数组实现的,查询元素快,增删相对慢

第一次创建集合并添加第一个元素时,在底层创建一个默认长度为10的数组
image.png
每次扩容到之前的1.5倍

LinekList的特有方法

底层数据结构是双链表,查询慢,首尾操作极快,有很多对首尾操作的API(可以用来做栈和队列)
image.png

LinekList集合的底层原理

底层数据结构是双链表,查询慢,首尾操作极快,有很多对首尾操作的API

List集合的遍历方式

image.png