Share via


ArrayList 類別

定義

介面的 Resizable-array 實作 List

[Android.Runtime.Register("java/util/ArrayList", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "E" })]
public class ArrayList : Java.Util.AbstractList, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable, Java.Lang.ICloneable, Java.Util.IRandomAccess
[<Android.Runtime.Register("java/util/ArrayList", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "E" })>]
type ArrayList = class
    inherit AbstractList
    interface ISerializable
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ICloneable
    interface IList
    interface ICollection
    interface IIterable
    interface IRandomAccess
繼承
屬性
實作

備註

介面的 Resizable-array 實作 List 。 實作所有選擇性清單作業,並允許所有專案,包括 null 。 除了實作 List 介面之外,這個類別還提供方法來操作內部用來儲存清單的陣列大小。 (這個類別大致相當於 Vector ,不同之處在于它未同步處理。)

sizeisEmptygetsetiteratorlistIterator 作業會以常數時間執行。 作業會 add分攤常數時間執行,也就是新增 n 個元素需要 O (n) 時間。 所有其他作業都會以線性時間執行, (大致上說出) 。 相較于實作的 LinkedList 常數因數低。

每個 ArrayList 實例都有 容量。 容量是用來將元素儲存在清單中之陣列的大小。 它一律會與清單大小一樣大。 隨著元素新增至 ArrayList,其容量會自動成長。 除了新增元素具有固定分攤時間成本的事實之外,未指定成長原則的詳細資料。

應用程式可以使用 作業來新增大量元素 ensureCapacity 之前,先增加 實例的 ArrayList 容量。 這可能會減少累加式重新配置的數量。

<強 > 請注意,此實作不會同步處理。 </strong > 如果多個執行緒同時存取 ArrayList 實例,而且至少有一個執行緒以結構化方式修改清單, 則必須 在外部同步處理。 (結構修改是新增或刪除一或多個元素,或明確調整支援的陣列大小的任何作業;只設定元素的值不是結構化修改。) 這通常是藉由同步處理自然封裝清單的某些物件來完成。

如果沒有這類物件存在,清單應該使用 Collections#synchronizedList Collections.synchronizedList 方法來「包裝」。 這是在建立時的最佳作法,以防止意外未同步存取清單:

List list = Collections.synchronizedList(new ArrayList(...));

<p id=「fail-fast」 > 這個類別所傳回的 #iterator() iterator 反覆運算器是 #listIterator(int) listIterator< em > fail-fast < /em > :如果在建立反覆運算器之後隨時以結構化方式修改清單,除了透過反覆運算器自己的 ListIterator#remove() removeListIterator#add(Object) add 方法以外,反覆運算器會擲回 ConcurrentModificationException 。 因此,在同時修改時,反覆運算器會快速且清楚地失敗,而不是在未來不具決定性的不具決定性行為上風險。

請注意,反覆運算器的失敗快速行為無法保證,一般而言,不可能在未同步處理並行修改的情況下進行任何硬式保證。 以最佳方式擲回 ConcurrentModificationException 快速反覆運算器。 因此,撰寫相依于此例外狀況的程式是否正確性是錯誤的: 反覆運算器的失敗快速行為應該只用來偵測錯誤。

這個類別是 JAVA Collections Framework的成員。

已在 1.2 中新增。

java.util.ArrayList JAVA 檔。

此頁面的部分是根據所建立和共用的工作進行修改,並根據 2.5 屬性授權中所述的詞彙來使用。

建構函式

ArrayList()

建構初始容量為 10 的空白清單。

ArrayList(ICollection)

根據集合的反覆運算器傳回的順序,建構包含指定集合之專案的清單。

ArrayList(Int32)

建構具有指定初始容量的空白清單。

ArrayList(IntPtr, JniHandleOwnership)

建立 JNI 物件的 Managed 標記法時使用的建構函式;由執行時間呼叫。

屬性

Class

傳回這個 Object 的執行時間類別。

(繼承來源 Object)
Handle

基礎 Android 實例的控制碼。

(繼承來源 Object)
IsEmpty

要新增

(繼承來源 AbstractCollection)
JniIdentityHashCode

介面的 Resizable-array 實作 List

(繼承來源 Object)
JniPeerMembers

介面的 Resizable-array 實作 List

ModCount

此清單的結構 修改次數。

(繼承來源 AbstractList)
PeerReference

介面的 Resizable-array 實作 List

(繼承來源 Object)
ThresholdClass

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

ThresholdType

此 API 支援適用于 Android 的 Mono 基礎結構,並不適合直接從您的程式碼使用。

方法

Add(Int32, Object)

要新增

(繼承來源 AbstractList)
Add(Object)

要新增

(繼承來源 AbstractCollection)
AddAll(ICollection)

要新增

(繼承來源 AbstractCollection)
AddAll(Int32, ICollection)

要新增

(繼承來源 AbstractList)
Clear()

要新增

(繼承來源 AbstractCollection)
Clone()

傳回這個 ArrayList 實例的淺層複本。

Contains(Object)

要新增

(繼承來源 AbstractCollection)
ContainsAll(ICollection)

要新增

(繼承來源 AbstractCollection)
Dispose()

介面的 Resizable-array 實作 List

(繼承來源 Object)
Dispose(Boolean)

介面的 Resizable-array 實作 List

(繼承來源 Object)
EnsureCapacity(Int32)

視需要增加這個 ArrayList 實例的容量,以確保它可以保存最小容量引數所指定的元素數目。

Equals(Object)

指出其他物件是否「等於」這個物件。

(繼承來源 Object)
ForEach(IConsumer)

介面的 Resizable-array 實作 List

Get(Int32)

傳回在此清單中指定位置的專案。

GetHashCode()

傳回此物件的雜湊碼值。

(繼承來源 Object)
IndexOf(Object)

要新增

(繼承來源 AbstractList)
Iterator()

依適當順序傳回此清單中元素的反覆運算器。

(繼承來源 AbstractList)
JavaFinalize()

當垃圾收集判斷物件不再參考物件時,垃圾收集行程會在物件上呼叫。

(繼承來源 Object)
LastIndexOf(Object)

要新增

(繼承來源 AbstractList)
ListIterator()

要新增

(繼承來源 AbstractList)
ListIterator(Int32)

要新增

(繼承來源 AbstractList)
Notify()

喚醒正在等候此物件監視器的單一線程。

(繼承來源 Object)
NotifyAll()

喚醒正在等候此物件監視器的所有線程。

(繼承來源 Object)
Remove(Int32)

要新增

(繼承來源 AbstractList)
Remove(Object)

要新增

(繼承來源 AbstractCollection)
RemoveAll(ICollection)

要新增

(繼承來源 AbstractCollection)
RemoveIf(IPredicate)

介面的 Resizable-array 實作 List

RemoveRange(Int32, Int32)

從這份清單中移除索引介於 、 包含和 toIndex 、 獨佔之間的 fromIndex 所有專案。

(繼承來源 AbstractList)
ReplaceAll(IUnaryOperator)

介面的 Resizable-array 實作 List

RetainAll(ICollection)

要新增

(繼承來源 AbstractCollection)
Set(Int32, Object)

要新增

(繼承來源 AbstractList)
SetHandle(IntPtr, JniHandleOwnership)

設定 Handle 屬性。

(繼承來源 Object)
Size()

傳回此清單中的專案數目。

Sort(IComparator)

介面的 Resizable-array 實作 List

Spliterator()

在此清單中建立 < em > 晚期繫結 < /em > 和 < em > 的 fast-fast < /em >Spliterator

SubList(Int32, Int32)

要新增

(繼承來源 AbstractList)
ToArray()

要新增

(繼承來源 AbstractCollection)
ToArray(Object[])

要新增

(繼承來源 AbstractCollection)
ToArray<T>()

介面的 Resizable-array 實作 List

(繼承來源 Object)
ToString()

傳回物件的字串表示。

(繼承來源 Object)
TrimToSize()

修剪此 ArrayList 實例的容量,以成為清單目前的大小。

UnregisterFromRuntime()

介面的 Resizable-array 實作 List

(繼承來源 Object)
Wait()

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > 。 ><

(繼承來源 Object)
Wait(Int64)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)
Wait(Int64, Int32)

讓目前的執行緒等到喚醒為止,通常是 em < notified/em > 或 < em > interrupted < /em > ,或直到經過一定數量的即時為止。 <>

(繼承來源 Object)

明確介面實作

IJavaPeerable.Disposed()

介面的 Resizable-array 實作 List

(繼承來源 Object)
IJavaPeerable.DisposeUnlessReferenced()

介面的 Resizable-array 實作 List

(繼承來源 Object)
IJavaPeerable.Finalized()

介面的 Resizable-array 實作 List

(繼承來源 Object)
IJavaPeerable.JniManagedPeerState

介面的 Resizable-array 實作 List

(繼承來源 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

介面的 Resizable-array 實作 List

(繼承來源 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

介面的 Resizable-array 實作 List

(繼承來源 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

介面的 Resizable-array 實作 List

(繼承來源 Object)

擴充方法

JavaCast<TResult>(IJavaObject)

執行 Android 執行時間檢查的類型轉換。

JavaCast<TResult>(IJavaObject)

介面的 Resizable-array 實作 List

GetJniTypeName(IJavaPeerable)

介面的 Resizable-array 實作 List

ToEnumerable(IIterable)

介面的 Resizable-array 實作 List

ToEnumerable<T>(IIterable)

介面的 Resizable-array 實作 List

適用於