Java 简明教程

Java ArrayList Class

Introduction

Java ArrayList 类提供了 resizable-array 并实现了 List 接口。以下是关于 ArrayList 的重要要点 -

  1. 它实现了所有可选列表操作,还允许所有元素(包括 null)。

  2. 它提供用于控制内部用于存储列表的数组大小的方法。

  3. 与 LinkedList 实现相比,常量因子较低。

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

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

数组列表创建时指定一个初始大小。当超过此大小时,集合将自动扩大。当移除对象时,数组可能会缩小。

Class declaration

以下是 java.util.ArrayList 的声明 −

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

这里 <E> 表示一个元素。例如,如果你正在编译一个整数数组,则需要将其初始化为

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

Class constructors

Class methods

Methods inherited

此类从以下类中继承方法:

  1. java.util.AbstractList

  2. java.lang.AbstractCollection

  3. java.util.Object

  4. java.util.List

Adding, Removing Elements to ArrayList of Strings Example

以下程序演示了 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);
   }
}

这会产生以下结果 −

Output

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]