java中的List常见类型
Java中的List是一种非常常见的数据结构,它用于存储一组元素,可以按照插入顺序进行访问和操作。List接口继承了Collection接口,提供了一些额外的方法,可以按照索引访问元素,支持增删改查等操作。
Java中的List接口有多个实现类,最常用的是ArrayList、LinkedList和Vector。
-
ArrayList:ArrayList是基于数组实现的,它允许null值和重复元素。它的随机访问效率比较高,因为它内部使用数组实现,但在插入和删除元素时需要移动元素的位置,因此效率比较低。
-
LinkedList:LinkedList是基于链表实现的,它也允许null值和重复元素。它的随机访问效率比较低,因为它需要从头开始遍历链表,但在插入和删除元素时,只需要改变链表节点的指针,因此效率比较高。
-
Vector:Vector是Java集合框架中的一个老式实现类,它也是基于数组实现的,允许null值和重复元素。Vector是线程安全的,所有的方法都是同步的,因此效率比较低。
常用方法
- ArrayList
- add(E e):在列表末尾添加一个元素
- add(int index, E element):在指定位置插入一个元素
- get(int index):获取指定位置的元素
- remove(int index):删除指定位置的元素
- set(int index, E element):将指定位置的元素替换为指定元素
- size():获取列表中元素的数量
- clear():清空列表中所有元素
- indexOf(Object o):获取指定元素在列表中第一次出现的位置
- subList(int fromIndex, int toIndex):获取列表中从fromIndex到toIndex之间的子列表
- toArray():将列表转换为数组
- LinkedList
- add(E e):在列表末尾添加一个元素
- add(int index, E element):在指定位置插入一个元素
- get(int index):获取指定位置的元素
- remove(int index):删除指定位置的元素
- set(int index, E element):将指定位置的元素替换为指定元素
- size():获取列表中元素的数量
- clear():清空列表中所有元素
- indexOf(Object o):获取指定元素在列表中第一次出现的位置
- subList(int fromIndex, int toIndex):获取列表中从fromIndex到toIndex之间的子列表
- offer(E e):将元素添加到列表末尾
- offerFirst(E e):将元素添加到列表头部
- offerLast(E e):将元素添加到列表末尾
- poll():获取并移除列表头部的元素
- pollFirst():获取并移除列表头部的元素
- pollLast():获取并移除列表末尾的元素
- peek():获取但不移除列表头部的元素
- peekFirst():获取但不移除列表头部的元素
- peekLast():获取但不移除列表末尾的元素
- Vector
- add(E e):在列表末尾添加一个元素
- add(int index, E element):在指定位置插入一个元素
- get(int index):获取指定位置的元素
- remove(int index):删除指定位置的元素
- set(int index, E element):将指定位置的元素替换为指定元素
- size():获取列表中元素的数量
- clear():清空列表中所有元素
- indexOf(Object o):获取指定元素在列表中第一次出现的位置
- subList(int fromIndex, int toIndex):获取列表中从fromIndex到toIndex之间的子列表
- toArray():将列表转换为数组
- capacity():获取当前列表的容量
- ensureCapacity(int minCapacity):确保列表至少具有指定的最小容量
- trimToSize():将列表的容量调整为当前元素的数量