美文网首页
List初识

List初识

作者: 一个追寻者的故事 | 来源:发表于2020-04-21 21:40 被阅读0次

    先来一张类图吧:

    List类图

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

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

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

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

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

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

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

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

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

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

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

    相关文章

      网友评论

          本文标题:List初识

          本文链接:https://www.haomeiwen.com/subject/cptpihtx.html