Java ArrayList 类



简介

Java ArrayList 类提供可调整大小的数组,并实现了List 接口。以下是关于 ArrayList 的重要要点:

  • 它实现了所有可选的列表操作,并且允许所有元素,包括 null。

  • 它提供方法来操作内部用于存储列表的数组的大小。

  • 与 LinkedList 实现相比,其常数因子较低。

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

标准 Java 数组是固定长度的。数组创建后,无法增长或缩小,这意味着您必须预先知道数组将容纳多少个元素。

ArrayList 以初始大小创建。当超过此大小后,集合会自动扩大。当删除对象时,数组可能会缩小。

类声明

以下是java.util.ArrayList类的声明:

public class ArrayList<E>
   extends AbstractList<E>
   implements Serializable, Cloneable, Iterable<E>, Collection<E>, List<E>, RandomAccess

这里<E>表示元素。例如,如果您正在构建一个 Integer 的 ArrayList,则可以将其初始化为

ArrayList<Integer> list = new ArrayList<Integer>();  

类构造函数

序号 构造函数 & 描述
1

ArrayList()

此构造函数用于创建一个空的列表,其初始容量足以容纳 10 个元素。

2

ArrayList(Collection<? extends E> c)

此构造函数用于创建一个包含指定集合元素的列表。

3

ArrayList(int initialCapacity)

此构造函数用于创建一个具有初始容量的空列表。

类方法

序号 方法 & 描述
1 boolean add(E e)

此方法将指定的元素附加到此列表的末尾。

2 boolean addAll(Collection<? extends E> c)

此方法将指定集合中的所有元素附加到此列表的末尾,其顺序与指定集合的 Iterator 返回的顺序相同。

3 void clear()

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

4 Object clone()

此方法返回此 ArrayList 实例的浅拷贝。

5 boolean contains(Object o)

如果此列表包含指定的元素,则此方法返回 true。

6 void ensureCapacity(int minCapacity)

此方法增加此 ArrayList 的容量。

7 E get(int index)

此方法返回此列表中指定位置处的元素。

8 int indexOf(Object o)

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

9 boolean isEmpty()

如果此列表不包含任何元素,则此方法返回 true。

10 Iterator<E> iterator()

此方法返回此列表中元素的迭代器,按照正确的顺序。

11 int lastIndexOf(Object o)

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

12 ListIterator<E> listIterator()

此方法返回此列表中元素的列表迭代器,按照正确的顺序。

13 E remove(int index)

此方法从此列表中删除指定位置处的元素。

14 boolean removeAll(Collection<?> c)

从此列表中删除所有包含在指定集合中的元素。

15 protected void removeIf(int fromIndex, int toIndex)

此方法删除满足给定谓词的此集合的所有元素。

16 boolean retainAll(Collection<?> c)

从此列表中保留所有包含在指定集合中的元素。

17 E set(int index, E element)

此方法将此列表中指定位置处的元素替换为指定的元素。

18 int size()

此方法返回此列表中的元素数量。

19 Spliterator<E> spliterator()

此方法在此列表中创建元素的延迟绑定和快速失败 Spliterator。

20 List<E> subList(int fromIndex, int toIndex)

此方法返回此列表中指定 fromIndex(包含)和 toIndex(不包含)之间部分的视图。

21 Object[] toArray()

此方法返回一个数组,其中包含此列表中的所有元素,按照正确的顺序(从第一个元素到最后一个元素)。

22 void trimToSize()

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

继承的方法

此类继承自以下类的方法:

  • java.util.AbstractList
  • java.lang.AbstractCollection
  • java.util.Object
  • java.util.List

向字符串 ArrayList 添加和删除元素示例

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

package com.tutorialspoint;

import java.util.ArrayList;

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]
广告