List初识

2020-04-21  本文已影响0人  一个追寻者的故事

先来一张类图吧:

List类图

这些代码的实现也都没有太复杂,基本上都能看懂,具体的实现细节就不在展开了,主要记录下各类的思路。

Collection: 集合层次结构中的根接口。集合代表一组对象,称为其元素。一些集合允许重复的元素,而另一些则不允许。一些是有序的,而其他则是无序的。 JDK不提供此接口的任何直接实现:它提供更特定的子接口(如 SetList )的实现。该接口通常用于传递集合并在需要最大通用性的地方操作它们。 这个接口定义了作为集合应该有的行为准则。

AbstractCollection:此类提供了Collection接口的基本实现,以最大程度地减少实现此接口所需的工作。大部分实现都是通过 iterator完成的处理。

List:有序集合(也称为序列)。该界面的用户可以精确控制列表中每个元素的插入位置。用户可以通过其整数索引(列表中的位置)访问元素,并在列表中搜索元素。接口定义了作为有序集合应该有的行为准则。

AbstractList:此类提供了List接口的基本实现,以最大程度地减少实现由 “随机访问” 数据存储(例如数组)支持的该接口所需的工作。对于顺序访问数据(例如链表),应优先使用AbstractSequentialList 代替此类。

ArrayList:顺序表 的Java实现。用数组存储去实现, 随机访问 效率高。

Vector:ArrayList 实现基本一样,唯一区别是 Vector 是线程安全。

Stack:定义了作为栈的 入栈出栈 的方法,也是线程安全。

Queue:定义了队列的行为准则。

Deque:定义了双向队列的行为准则。

LinkedList:是 链式 存储结构实现的线性表。有队列、双向队列,甚至栈的特性。

上一篇下一篇

猜你喜欢

热点阅读