Java集合-List接口

List 接口-介绍

List是一个继承于Collection的接口,即List是集合中的一种。List是有序的队列,List中的每一个元素都有一个索引,而且支持重复。即:List集合:有序,支持索引,可重复的集合

List 接口的定义:

image


List 接口-常用方法
  • add(Object element) : 向列表的尾部添加指定的元素

  • size() :返回列表中的元素个数

  • get(int index): 返回列表中指定位置的元素,index从0开始

  • add(int index, Object element): 在列表的指定位置插入指定元素

  • set(int i, Object element): 将索引i位置元素替换为元素element并返回被替换的元素。

  • clear(): 从列表中移除所有元素 .

  • isEmpty(): 判断列表是否包含元素,不包含元素则返回 true,否则返回false

  • iterator(): 返回按适当顺序在列表的元素上进行迭代的迭代器

  • contains(Object o): 如果列表包含指定的元素,则返回 true。

  • remove(int index): 移除列表中指定位置的元素,并返回被删元素

  • remove(Object o): 移除集合中第一次出现的指定元素,移除成功返回true,否则返回false。


List 接口-遍历方式

三种遍历方式,前两种同 Collection接口的遍历方式(迭代器、增强for循环)

第三种是 普通for 循环: 直接使用索引遍历

需要使用到方法 size() 和 get()。


List 接口-常用实现类

List接口的三个典型实现:

(1)ArrayList:底层数据结构是数组,查询快,增删慢,线程不安全,效率高

文章链接:Java-ArrayList
(2)LinkedList 底层数据结构是链表,查询慢,增删快,线程不安全,效率高

文章链接:Java-LinkedList

(3)Vector:底层数据结构是数组,查询快,增删慢,线程安全,效率低

文章链接:Java-Vector

它们的使用场景:

(1) 对于需要快速插入,删除元素,应该使用LinkedList。

(2) 对于需要快速随机访问元素,应该使用ArrayList。

(3) 对于“单线程环境” 或者 “多线程环境,但List仅仅只会被单个线程操作”,此时应该使用非同步的类(如ArrayList)。
对于“多线程环境,且List可能同时被多个线程操作”,此时,应该使用同步的类(如Vector)。

posted @ 2021-10-24 15:47  Wiiiimp  阅读(190)  评论(0编辑  收藏  举报