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