一、栈
先进后出
二、队列
先进先出
三、数组
查询快:只需对应到数组地址,元素地址连续
增删慢:需要创建新的数组,源数组销毁
四、链表
查询慢:地址不连续,每次查询元素都需要从头开始查询
增删快:链表中的每个元素也称为一个节点,单向链表一个节点包含了 一个数据源(存储数据) 和 两个指针域(当前地址和下一个元素地址),双向链表一个节点比单向链表多了一个指针域(前一个元素地址)
1.单向链表特点
不能保证链表顺序:存储元素与取出元素顺序可能不一致
2.双向链表特点
由于多了一个指向前一个元素的指针,因此是一个有序的集合
3.辨析
a .list接口与链表不等价
b . list接口常用的三种集合实现类分别为ArrayList,LinkedList,Vector
c . ArrayList,Vector虽然实现了list接口,但是基于数组的数据结构实现的
d .LinkedList也实现了list接口,但是基于双向链表的数据结构实现的,双向链表的数据结构同样是需要后期编写代码来进行实现的。