java List

概念

  • Collection的子类
  • 它是一个元素存取有序的集合
  • 带有索引的集合,通过索引就可以精确的操作集合中的元素(与数组的索引是一个道理)。
  • 集合中可以有重复的元素,通过元素的equals方法,来比较是否为重复的元素。
  • 在迭代时,不要使用集合的方法操作元素。(ListIterator迭代器操作元素是可以的)

常用的方法(增删改查)

增加元素 add

  • add(Object e):向集合末尾处,添加指定的元素 ,添加到末尾
  • add(int index, Object e):向集合指定索引处,添加指定的元素,原有元素依次后移(增加了空间的复杂度)

删除元素 remove

  • remove(Object e):将指定元素对象,从集合中删除,返回值为被删除的元素
  • remove(int index):将指定索引处的元素,从集合中删除,返回值为被删除的元素(删除元素以后,该索引后面的元素前移)

修改(替换)元素方法 set

  • set(int index, Object e):将指定索引处的元素,替换成指定的元素,返回值为替换前的元素

查询元素方法 get

  • get(int index):获取指定索引处的元素,并返回该元素

List集合存储数据的结构

List常用的结构方式结构有:堆栈、队列、数组、链表

堆栈

  • 先进后出
  • 栈的入口、出口的都是栈的顶端位置
  • 压栈:就是存元素
  • 弹栈:就是取元素

队列

  • 先进先出
  • 队列的入口、出口各占一侧

数组

  • 查找元素快
  • 增删元素慢
  • 代表
    – ArrayList集合数据存储的结构是数组结构。元素增删慢,查找快,由于日常开发中使用最多的功能为查询数据、遍历数据,所以ArrayList是最常用的集合。

链表

  • 多个节点之间,通过地址进行连接
  • 查找元素慢
  • 增删元素快
  • 代表
    – LinkedList集合数据存储的结构是链表结构。方便元素添加、删除的集合。实际开发中对一个集合元素的添加与删除经常涉及到首尾操作,而LinkedList提供了大量首尾操作的方法。(add,get, remove, pop, push, isEmpty)
    java List