ArrayList クラス

定義

インターフェイスのサイズ変更可能な配列の 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
継承
属性
実装

注釈

インターフェイスのサイズ変更可能な配列の List 実装。 すべての省略可能なリスト操作を実装し、 を含むすべての null要素を許可します。 インターフェイスの List 実装に加えて、このクラスは、リストを格納するために内部的に使用される配列のサイズを操作するメソッドを提供します。 (このクラスは、同期されていない点を Vector除いて、 とほぼ同じです)。

isEmpty、、getsetiterator、および listIterator の各操作はsize一定の時間で実行されます。 この操作はadd償却定数時間で実行されます。つまり、n 個の要素を追加するには O(n) 時間が必要です。 他のすべての操作は、線形時間で実行されます (大まかに言うと)。 定数係数は、実装の場合 LinkedList と比較して低くなります。

ArrayList インスタンスには 容量があります。 容量は、リストに要素を格納するために使用される配列のサイズです。 これは常に、少なくともリスト サイズと同じ大きさです。 要素が ArrayList に追加されると、その容量は自動的に増加します。 拡張ポリシーの詳細は、要素を追加する場合の償却時間コストが一定であるという事実を超えて指定されません。

アプリケーションでは、 操作を使用して多数の要素を追加する ArrayList 前に、インスタンスの容量を ensureCapacity 増やすことができます。 これにより、増分再割り当て量が減る可能性があります。

<strong>この実装は同期されないことに注意してください。</strong> 複数のスレッドが ArrayList 同時にインスタンスにアクセスし、少なくとも 1 つのスレッドがリストを構造的に変更する場合は、外部で同期 する必要があります 。 (構造変更とは、1 つ以上の要素を追加または削除したり、バッキング配列のサイズを明示的に変更したりする操作です。要素の値を設定するだけでは構造変更ではありません)。これは通常、リストを自然にカプセル化するオブジェクトを同期することによって実現されます。

このようなオブジェクトが存在しない場合は、 メソッドを使用して Collections#synchronizedList Collections.synchronizedList リストを "ラップ" する必要があります。 これは、リストへの誤った同期されていないアクセスを防ぐために、作成時に行うのが最善です。

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

<p id="fail-fast"> このクラス#iterator() iterator#listIterator(int) listIteratorメソッド<>によって返される反復子は、fail-fast</em> です。反復子の作成後にリストがいつでも構造的に変更される場合、反復子の独自ListIterator#remove() removeまたはListIterator#add(Object) addメソッドを除く任意の方法で、反復子は をConcurrentModificationExceptionスローします。 したがって、同時変更に直面すると、反復子は、将来不確定な時点で任意の非決定論的な動作を危険にさらすのではなく、迅速かつクリーンに失敗します。

反復子のフェイルファースト動作は、非同期の同時変更がある場合にハード保証を行うことは一般的に不可能であるため、保証できないことに注意してください。 フェイルファースト反復子は、ベスト エフォートベースでスロー ConcurrentModificationException します。 したがって、この例外に依存するプログラムを正しく記述するのは間違っています。 反復子のフェイルファースト動作はバグを検出するためにのみ使用する必要があります。

このクラスは、 Java Collections Framework のメンバーです。

1.2 に追加されました。

java.util.ArrayListJava ドキュメント。

このページの一部は、によって作成および共有された作業に基づく変更であり、に記載されている条件に従って使用されます。

コンストラクター

ArrayList()

初期容量が 10 の空のリストを作成します。

ArrayList(ICollection)

指定したコレクションの要素を含むリストを、コレクションの反復子から返される順序で作成します。

ArrayList(Int32)

指定した初期容量を持つ空のリストを作成します。

ArrayList(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

プロパティ

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
IsEmpty

追加する

(継承元 AbstractCollection)
JniIdentityHashCode

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
JniPeerMembers

インターフェイスのサイズ変更可能な配列の List 実装。

ModCount

このリストが 構造的に変更された回数。

(継承元 AbstractList)
PeerReference

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
ThresholdClass

この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

メソッド

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()

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
Dispose(Boolean)

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
EnsureCapacity(Int32)

必要に応じて、この ArrayList インスタンスの容量を増やして、最小容量引数で指定された要素数以上を保持できるようにします。

Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
ForEach(IConsumer)

インターフェイスのサイズ変更可能な配列の List 実装。

Get(Int32)

このリスト内の指定した位置にある 要素を返します。

GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
IndexOf(Object)

追加する

(継承元 AbstractList)
Iterator()

このリスト内の要素に対する反復子を適切な順序で返します。

(継承元 AbstractList)
JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションが判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
LastIndexOf(Object)

追加する

(継承元 AbstractList)
ListIterator()

追加する

(継承元 AbstractList)
ListIterator(Int32)

追加する

(継承元 AbstractList)
Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
Remove(Int32)

追加する

(継承元 AbstractList)
Remove(Object)

追加する

(継承元 AbstractCollection)
RemoveAll(ICollection)

追加する

(継承元 AbstractCollection)
RemoveIf(IPredicate)

インターフェイスのサイズ変更可能な配列の List 実装。

RemoveRange(Int32, Int32)

インデックスが 、包括、および toIndex排他的の間fromIndexにあるすべての要素を、この一覧から削除します。

(継承元 AbstractList)
ReplaceAll(IUnaryOperator)

インターフェイスのサイズ変更可能な配列の List 実装。

RetainAll(ICollection)

追加する

(継承元 AbstractCollection)
Set(Int32, Object)

追加する

(継承元 AbstractList)
SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
Size()

このリスト内の要素の数を返します。

Sort(IComparator)

インターフェイスのサイズ変更可能な配列の List 実装。

Spliterator()

このリスト内の<>要素に対して em 遅延バインディング</em> と <em>fail-fast</em>Spliterator を作成します。

SubList(Int32, Int32)

追加する

(継承元 AbstractList)
ToArray()

追加する

(継承元 AbstractCollection)
ToArray(Object[])

追加する

(継承元 AbstractCollection)
ToArray<T>()

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
TrimToSize()

この ArrayList インスタンスの容量を、リストの現在のサイズにトリミングします。

UnregisterFromRuntime()

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。>

(継承元 Object)
Wait(Int64)

現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。

(継承元 Object)

明示的なインターフェイスの実装

IJavaPeerable.Disposed()

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
IJavaPeerable.DisposeUnlessReferenced()

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
IJavaPeerable.Finalized()

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
IJavaPeerable.JniManagedPeerState

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

インターフェイスのサイズ変更可能な配列の List 実装。

(継承元 Object)

拡張メソッド

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

インターフェイスのサイズ変更可能な配列の List 実装。

GetJniTypeName(IJavaPeerable)

インターフェイスのサイズ変更可能な配列の List 実装。

ToEnumerable(IIterable)

インターフェイスのサイズ変更可能な配列の List 実装。

ToEnumerable<T>(IIterable)

インターフェイスのサイズ変更可能な配列の List 実装。

適用対象