
一、顺序表
顺序表其实就是用一段**物理地址(内存地址)**连续的存储单元一次存储数据元素的线性结构,通常情况下我们使用数组来进行数据的存储,在数组上完成对数据的增删改查。

二、线性表
线性表是一个 n 个具有相同特性的数据元素的有序序列,常见的线性表有:顺序表、链表、栈、队列等。
线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构(内存)上并不一定是连续的,线性表在物理上存储时,通常以数组和链式结构的形式存储。
链式结构存储:比如链表

三、ArrayList 类
在 Java 的集合框架中,ArrayList 是一个普通的类,实现了 List 接口:
- ArrayList 类是基于数组来实现的,但是相比较数组来说,ArrayList 类可以看作是一个动态大小的数组,能够自动扩展数组的大小
- List 是一个接口不能够进行实例化,ArrayList 实现了这个接口,所以创建 List 类型的对象需要借助 ArrayList 来进行实例化

3.1 ArrayList 的构造
| 方法 | 解释 |
|---|---|
ArrayList() | 无参数的构造 |
ArrayList(Collection<?extends E> c) | 利用其他 Collection 构建 ArrayList |
ArrayList(int initcalCapacity) | 指定顺序表初始容量 |
3.2 ArrayList 的实例化
ArrayList 的两种常见的实例化方式:
//通过接口进行实例化,向上转型
List<Integer> list = <>();
ArrayList<Integer> list2 = <>();



