Java - ArrayList类


Java - ArrayList类

ArrayList类扩展了AbstractList并实现了List接口。ArrayList支持可根据需要增长的动态数组。

标准Java数组具有固定长度。创建数组后,它们无法增长或缩小,这意味着您必须事先知道数组将包含多少元素。

使用初始大小创建数组列表。超过此尺寸时,将自动放大该集合。删除对象后,阵列可能会缩小。

以下是ArrayList类提供的构造函数列表。

Sr.No. 构造函数和描述
1

ArrayList( )

此构造函数构建一个空数组列表。

2

ArrayList(Collection c)

此构造函数构建一个使用集合c的元素初始化的数组列表

3

ArrayList(int capacity)

此构造函数构建具有指定初始容量的数组列表。容量是用于存储元素的基础数组的大小。当元素添加到数组列表时,容量会自动增加。

除了从其父类继承的方法之外,ArrayList还定义了以下方法 -

Sr.No. 方法和描述
1

void add(int index,Object element)

将指定元素插入此列表中的指定位置索引。如果指定的索引超出范围(索引<0 || index> size()),则抛出IndexOutOfBoundsException。

2

boolean add(Object o)

将指定的元素追加到此列表的末尾。

3

boolean addAll(Collection c)

将指定集合中的所有元素按指定集合的​​迭代器返回的顺序附加到此列表的末尾。如果指定的集合为null,则抛出NullPointerException。

4

boolean addAll(int index,Collection c)

从指定位置开始,将指定集合中的所有元素插入此列表。如果指定的集合为null,则抛出NullPointerException。

void clear()

从此列表中删除所有元素。

6

Object clone()

返回此ArrayList的浅表副本。

7

boolean contains(Object o)

如果此列表包含指定的元素,则返回true。更正式地,当且仅当此列表包含至少一个元素e时才返回true (o == null?e == null:o.equals(e))。

8

void ensureCapacity(int minCapacity)

如有必要,增加此ArrayList实例的容量,以确保它至少可以容纳由minimum capacity参数指定的元素数。

9

Object get(int index)

返回此列表中指定位置的元素。如果指定的索引超出范围(索引<0 || index> = size()),则抛出IndexOutOfBoundsException。

10

int indexOf(Object o)

返回指定元素第一次出现的列表中的索引,如果List不包含此元素,则返回-1。

11

int lastIndexOf(Object o)

返回指定元素最后一次出现的列表中的索引,如果列表不包含此元素,则返回-1。

12

Object remove(int index)

删除此列表中指定位置的元素。如果索引out是范围(索引<0 || index> = size()),则抛出IndexOutOfBoundsException。

13

protected void removeRange(int fromIndex,int toIndex)

从此List中删除索引介于fromIndex(包含)和toIndex(独占)之间的所有元素。

14

Object set(int index, Object element)

用指定的元素替换此列表中指定位置的元素。如果指定的索引超出范围(索引<0 || index> = size()),则抛出IndexOutOfBoundsException。

15

int size()

返回此列表中的元素数。

16

Object [] toArray()

以正确的顺序返回包含此列表中所有元素的数组。如果指定的数组为null,则抛出NullPointerException。

17

Object [] toArray(Object [] a)

以正确的顺序返回包含此列表中所有元素的数组; 返回数组的运行时类型是指定数组的运行时类型。

18

void trimToSize()

将此ArrayList实例的容量调整为列表的当前大小。

实例

以下程序说明了ArrayList支持的几种方法

import java.util.*;
public class ArrayListDemo {

   public static void main(String args[]) {
      // create an array list
      ArrayList al = new ArrayList();
      System.out.println("Initial size of al: " + al.size());

      // add elements to the array list
      al.add("C");
      al.add("A");
      al.add("E");
      al.add("B");
      al.add("D");
      al.add("F");
      al.add(1, "A2");
      System.out.println("Size of al after additions: " + al.size());

      // display the array list
      System.out.println("Contents of al: " + al);

      // Remove elements from the array list
      al.remove("F");
      al.remove(2);
      System.out.println("Size of al after deletions: " + al.size());
      System.out.println("Contents of al: " + al);
   }
}

输出

Initial size of al: 0
Size of al after additions: 7
Contents of al: [C, A2, A, E, B, D, F]
Size of al after deletions: 5
Contents of al: [C, A2, E, B, D]