java学习笔记——List集合(ArrayList、LinkedList)

目录

  • List接口
    • List接口的特点
    • List接口中带索引的方法(特有)
    • List集合遍历的3种方法
  • ArrayList集合
  • LinkedList集合
    • LinkedList集合的特点
    • LinkedList常用方法

List接口

List接口的特点

  • 有序的集合,存储元素和取出元素的顺序是一直的(存储是123 取出也是123)
  • 有索引,包含了一些带索引的方法
  • 允许存储重复的元素

List接口中带索引的方法(特有)

  • 创建一个集合对象,一般使用多态

    • List list = new ArrayList<>()
  • public void add(int index,E element):将指定的元素,添加到该集合中的指定位置上(不加索引值就是直接在最后添加)
    java学习笔记——List集合(ArrayList、LinkedList)_第1张图片

  • public E get(int index):返回集合中指定位置的元素

  • public E remove(int index):移除列表中指定位置的元素,返回的是被移除的元素
    java学习笔记——List集合(ArrayList、LinkedList)_第2张图片

  • public E set(int index,E element):用指定元素替换指定位置的元素,返回的是更新前的元素
    在这里插入图片描述

  • 注意

    • 操作索引的时候,一定要防止索引越界异常
    • IndexOutOfBoundsException:索引越界异常,一般集合会报
    • ArrayIndexOutOfBoundsException:数组索引越界异常
    • StringIndexOutOfBoundsException:字符串索引越界异常

List集合遍历的3种方法

  • 使用普通for循环
    java学习笔记——List集合(ArrayList、LinkedList)_第3张图片
  • 使用迭代器
    java学习笔记——List集合(ArrayList、LinkedList)_第4张图片
  • 使用增强for循环(foreach循环)
    在这里插入图片描述

ArrayList集合

  • ArrayList集合在之前已经写过具体的介绍以及方法,下面主要说一下ArrayList的数据结构
  • ArrayList为List接口的一个实现类。在ArrayList的官方文档中,对ArrayList的描述是:ArayList是对List接口大小可变数组的实现。所以ArrayList在本质上是一个数组,因此它也具有查询快,增删慢的特点。当某一个功能的查询比较多时,可以用ArrayList集合来实现。而如果一个功能的增删比较多,就不建议用ArrayList来实现。
  • ArrayList是一个不同步的集合(即多线程)

LinkedList集合

  • LinkedList集合是List接口的实现类
  • LinkedList也是一个不同步的集合(多线程)

LinkedList集合的特点

  • 底层是一个链表结构,因此有着查询慢,增删快的特点
  • 里面包含了大量操作首尾元素的方法
  • 注意:使用LinkedList集合特有的方法,不能使用多态
  • LinkedList是一个有序的集合

LinkedList常用方法

  • LinkedList也可以使用List接口的方法
    java学习笔记——List集合(ArrayList、LinkedList)_第5张图片

  • 添加元素

    • public void addFirst(E e):将指定元素插入此列表的开头
    • public void addLast(E e):将指定元素插入此列表的结尾
    • public void push(E e):将元素推入此列表所表示的堆栈,相当于addFirst
      java学习笔记——List集合(ArrayList、LinkedList)_第6张图片
  • 删除元素

    • public E removeFirst():移除并返回此列表的第一个元素
    • public E removeLast():移除并返回此列表的最后一个元素
    • public E pop():从此列表做表示的堆栈弹出一个元素,相当于removeFirst
      java学习笔记——List集合(ArrayList、LinkedList)_第7张图片
  • 获取元素

    • public E getFirst():返回此列表的第一个元素
    • public E getLast():返回此列表的最后一个元素
    • 注意:如果列表为空,那么使用这些方法获取元素的时候,会抛出NoSuchElementException的异常
      java学习笔记——List集合(ArrayList、LinkedList)_第8张图片
  • public boolean isEmpty():判断列表是否为空,如果列表不包含元素,则返回true

你可能感兴趣的:(java学习笔记——List集合(ArrayList、LinkedList))