List 特点

  • 元素有序,可重复。
  • 我们主要学习三种:ArrayListLinkedListVector
  • 这三种都是 List 接口的实现类,使用上完全一样,只是实现原理不同,效率不同。
  • List 集合判断元素是否相同,依据是元素的 equals 方法。

ArrayList

  • 底层数组实现
  • 查找快,增删慢
  • 线程不安全

LinkedList

  • 底层链表实现
  • 增删块,查找慢

Vector

  • 与 ArrayList 基本一样
  • 线程安全(线程同步),效率低

存取元素

  • List 集合元素存取方法一致
  • 使用 add() 方法增加元素
  • 由于 List 集合有序,可以使用 get() 方法获取元素
  • 元素的迭代(Iterator)
    通过集合对象的 iterator() 方法获得迭代器 Iterator
    通过 Iterator 迭代器的 hasNext() 方法判断是否存在下一个元素
    通过 Iterator 迭代器的 next() 方法获取下一个元素
  • 元素的迭代(Enumeration)
    迭代 Vector 集合中的元素可以使用 Enumeration
    通过 Enumeration 的 hasMoreElements() 方法判断是否还有元素
    通过 Enumeration 的 nextElement() 方法返回下一个元素
Collection
    |--List:元素是有序的,元素可以重复。因为该集合体系有索引。
        |--ArrayList:底层的数据结构使用的是数组结构。特点:查询速度很快。但是增删稍慢。线程不同步。
        |--LinkedList:底层使用的链表数据结构。特点:增删速度很快,查询稍慢。线程不同步。
        |--Vector:底层是数组数据结构。线程同步。被 ArrayList 替代了。因为效率低。
    |--Set:元素是无序,元素不可以重复。

本文作者:
文章标签:Java
文章标题:【Java 基础篇】List 接口
本文地址:https://www.ducky.vip/archives/49.html
版权说明:若无注明,本文皆 iDuckie's Blog 原创,转载请保留文章出处。
最后修改:2024 年 03 月 13 日
如果觉得我的文章对你有用,请随意赞赏