抽象数据类型(abstract data type,ADT)是带有一组操作的一些对象的集合
1 表ADT
A 1 , A 2 , ⋯   , A N A_1,A_2,\cdots,A_N A1,A2,⋯,AN
如上,这是一个大小为N的表。当然,若N为0,则称其为空表。
对于除空表以外的任何表,A1可以看作是A2的前驱,而A2则是A1的后继。在一个表中,表中第一个元素是A1,而表的最后一个元素是An,我们将不给A1设定前驱,不给An设定后继。这样一个表,也可以称为线性表。
对于表的操作,主要了解新增add,删除remove以及查找get这些方法即可。
1.1 数组实现表
数组具有连续的存储单元,物理和逻辑上均具有连续性。使用下标进行访问,时间复杂度仅为O(1),使用它来实现表非常方便。
对表的所有操作均可以使用数组来实现,虽然数组是使用固定容量capacity创建的(静态数据结构),但在需要的时候可以用2倍的容量来进行创建一个新的数组(ArrayList扩