ArrayList ArrayList ArrayList ArrayList Class

定義

必要に応じてサイズが動的に拡大される配列を使用して IList インターフェイスを実装します。Implements the IList interface using an array whose size is dynamically increased as required.

public ref class ArrayList : ICloneable, System::Collections::IList
[System.Runtime.InteropServices.ComVisible(true)]
[System.Serializable]
public class ArrayList : ICloneable, System.Collections.IList
type ArrayList = class
    interface IList
    interface ICloneable
    interface ICollection
    interface IEnumerable
Public Class ArrayList
Implements ICloneable, IList
継承
ArrayListArrayListArrayListArrayList
派生
属性
実装

次の例を作成し、初期化する方法を示しています、ArrayListとその値を表示する方法。The following example shows how to create and initialize an ArrayList and how to display its values.

using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable^ myList );
int main()
{
   
   // Creates and initializes a new ArrayList.
   ArrayList^ myAL = gcnew ArrayList;
   myAL->Add( "Hello" );
   myAL->Add( "World" );
   myAL->Add( "!" );
   
   // Displays the properties and values of the ArrayList.
   Console::WriteLine( "myAL" );
   Console::WriteLine( "    Count:    {0}", myAL->Count );
   Console::WriteLine( "    Capacity: {0}", myAL->Capacity );
   Console::Write( "    Values:" );
   PrintValues( myAL );
}

void PrintValues( IEnumerable^ myList )
{
   IEnumerator^ myEnum = myList->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      Object^ obj = safe_cast<Object^>(myEnum->Current);
      Console::Write( "   {0}", obj );
   }

   Console::WriteLine();
}

/* 
This code produces output similar to the following:

myAL
    Count:    3
    Capacity: 4
    Values:   Hello   World   !

*/
using System;
using System.Collections;
public class SamplesArrayList  {

   public static void Main()  {

      // Creates and initializes a new ArrayList.
      ArrayList myAL = new ArrayList();
      myAL.Add("Hello");
      myAL.Add("World");
      myAL.Add("!");

      // Displays the properties and values of the ArrayList.
      Console.WriteLine( "myAL" );
      Console.WriteLine( "    Count:    {0}", myAL.Count );
      Console.WriteLine( "    Capacity: {0}", myAL.Capacity );
      Console.Write( "    Values:" );
      PrintValues( myAL );
   }

   public static void PrintValues( IEnumerable myList )  {
      foreach ( Object obj in myList )
         Console.Write( "   {0}", obj );
      Console.WriteLine();
   }

}


/* 
This code produces output similar to the following:

myAL
    Count:    3
    Capacity: 4
    Values:   Hello   World   !

*/
Imports System
Imports System.Collections
Imports Microsoft.VisualBasic

Public Class SamplesArrayList    
    
    Public Shared Sub Main()
        
        ' Creates and initializes a new ArrayList.
        Dim myAL As New ArrayList()
        myAL.Add("Hello")
        myAL.Add("World")
        myAL.Add("!")
        
        ' Displays the properties and values of the ArrayList.
        Console.WriteLine("myAL")
        Console.WriteLine("    Count:    {0}", myAL.Count)
        Console.WriteLine("    Capacity: {0}", myAL.Capacity)
        Console.Write("    Values:")
        PrintValues(myAL)
    End Sub

    Public Shared Sub PrintValues(myList As IEnumerable)
        Dim obj As [Object]
        For Each obj In  myList
            Console.Write("   {0}", obj)
        Next obj
        Console.WriteLine()
    End Sub 'PrintValues

End Class


' This code produces output similar to the following:
' 
' myAL
'     Count:    3
'     Capacity: 4
'     Values:   Hello   World   !

注釈

重要

使用することをお勧めしません、ArrayListクラスの新しい開発します。We don't recommend that you use the ArrayList class for new development. ジェネリックを使用すること勧め代わりに、List<T>クラス。Instead, we recommend that you use the generic List<T> class. ArrayListクラスはオブジェクトの異種コレクションを保持するために設計されています。The ArrayList class is designed to hold heterogeneous collections of objects. ただし、常に提供しません、最適なパフォーマンス。However, it does not always offer the best performance. 代わりに、次を推奨します。Instead, we recommend the following:

  • オブジェクトの異種コレクションは、使用、 List<Object> (で C# の場合) またはList(Of Object)(Visual Basic) で入力します。For a heterogeneous collection of objects, use the List<Object> (in C#) or List(Of Object) (in Visual Basic) type.
  • オブジェクトの同種のコレクションを使用して、List<T>クラス。For a homogeneous collection of objects, use the List<T> class.
    参照してくださいパフォーマンスに関する考慮事項で、List<T>これらのクラスの相対的なパフォーマンスの詳細については、リファレンス トピック。See Performance Considerations in the List<T> reference topic for a discussion of the relative performance of these classes. 参照してください非ジェネリック コレクションを使用してはならないでは、GitHub の非ジェネリック コレクション型ではなくジェネリックの使用に関する一般情報。See Non-generic collections shouldn't be used on GitHub for general information on the use of generic instead of non-generic collection types.

ArrayList並べ替えの基準とは限りません。The ArrayList is not guaranteed to be sorted. 並べ替える必要があります、ArrayListを呼び出してそのSort操作を実行する前にメソッド (などBinarySearch) を必要とする、ArrayList並べ替えられます。You must sort the ArrayList by calling its Sort method prior to performing operations (such as BinarySearch) that require the ArrayList to be sorted. 使用することができますが、新しい要素が追加されると自動的に並べ替えられているコレクションを維持するために、SortedSet<T>クラス。To maintain a collection that is automatically sorted as new elements are added, you can use the SortedSet<T> class.

容量、ArrayList要素の数が、ArrayListを保持できます。The capacity of an ArrayList is the number of elements the ArrayList can hold. 要素が追加される、ArrayList容量が増やされます自動的に再割り当て、必要に応じて。As elements are added to an ArrayList, the capacity is automatically increased as required through reallocation. 呼び出すことによって、容量を削減できるTrimToSizeかを設定して、Capacityプロパティに明示的にします。The capacity can be decreased by calling TrimToSize or by setting the Capacity property explicitly.

.NET framework のみ: 非常に大きなArrayListオブジェクトを設定して、64 ビット システム上の 20億要素に最大容量を増やすことができます、enabledの属性、 <gcAllowVeryLargeObjects> 構成要素をtrueで、実行時環境。.NET Framework only: For very large ArrayList objects, you can increase the maximum capacity to 2 billion elements on a 64-bit system by setting the enabled attribute of the <gcAllowVeryLargeObjects> configuration element to true in the run-time environment.

このコレクション内の要素は、整数インデックスを使用してアクセスできます。Elements in this collection can be accessed using an integer index. このコレクションのインデックスは 0 から始まります。Indexes in this collection are zero-based.

ArrayListコレクションを受け入れるnullとして有効な値。The ArrayList collection accepts null as a valid value. 重複する要素もできます。It also allows duplicate elements.

内の要素として多次元配列を使用して、ArrayListコレクションはサポートされていません。Using multidimensional arrays as elements in an ArrayList collection is not supported.

コンストラクター

ArrayList() ArrayList() ArrayList() ArrayList()

空で、既定の初期量を備えた、ArrayList クラスの新しいインスタンスを初期化します。Initializes a new instance of the ArrayList class that is empty and has the default initial capacity.

ArrayList(ICollection) ArrayList(ICollection) ArrayList(ICollection) ArrayList(ICollection)

指定したコレクションからコピーした要素を格納し、コピーされる要素の数と同じ初期量を備えた、ArrayList クラスの新しいインスタンスを初期化します。Initializes a new instance of the ArrayList class that contains elements copied from the specified collection and that has the same initial capacity as the number of elements copied.

ArrayList(Int32) ArrayList(Int32) ArrayList(Int32) ArrayList(Int32)

空で、指定した初期量を備えた、ArrayList クラスの新しいインスタンスを初期化します。Initializes a new instance of the ArrayList class that is empty and has the specified initial capacity.

プロパティ

Capacity Capacity Capacity Capacity

ArrayList に格納できる要素の数を取得または設定します。Gets or sets the number of elements that the ArrayList can contain.

Count Count Count Count

ArrayList に実際に含まれる要素の数を取得します。Gets the number of elements actually contained in the ArrayList.

IsFixedSize IsFixedSize IsFixedSize IsFixedSize

ArrayList が固定サイズかどうかを示す値を取得します。Gets a value indicating whether the ArrayList has a fixed size.

IsReadOnly IsReadOnly IsReadOnly IsReadOnly

ArrayList が読み取り専用かどうかを示す値を取得します。Gets a value indicating whether the ArrayList is read-only.

IsSynchronized IsSynchronized IsSynchronized IsSynchronized

ArrayList へのアクセスが同期されている (スレッド セーフである) かどうかを示す値を取得します。Gets a value indicating whether access to the ArrayList is synchronized (thread safe).

Item[Int32] Item[Int32] Item[Int32] Item[Int32]

指定したインデックスにある要素を取得または設定します。Gets or sets the element at the specified index.

SyncRoot SyncRoot SyncRoot SyncRoot

ArrayList へのアクセスを同期するために使用できるオブジェクトを取得します。Gets an object that can be used to synchronize access to the ArrayList.

メソッド

Adapter(IList) Adapter(IList) Adapter(IList) Adapter(IList)

特定の IList に関する ArrayList ラッパーを作成します。Creates an ArrayList wrapper for a specific IList.

Add(Object) Add(Object) Add(Object) Add(Object)

ArrayList の末尾にオブジェクトを追加します。Adds an object to the end of the ArrayList.

AddRange(ICollection) AddRange(ICollection) AddRange(ICollection) AddRange(ICollection)

ICollection の要素を ArrayList の末尾に追加します。Adds the elements of an ICollection to the end of the ArrayList.

BinarySearch(Int32, Int32, Object, IComparer) BinarySearch(Int32, Int32, Object, IComparer) BinarySearch(Int32, Int32, Object, IComparer) BinarySearch(Int32, Int32, Object, IComparer)

指定した比較子を使用して、並べ替えられた要素の ArrayList の 1 つの要素の範囲を検索し、その要素の 0 から始まるインデックスを返します。Searches a range of elements in the sorted ArrayList for an element using the specified comparer and returns the zero-based index of the element.

BinarySearch(Object) BinarySearch(Object) BinarySearch(Object) BinarySearch(Object)

既定の比較子を使用して、並べ替えられた要素の ArrayList 全体を検索し、その要素の 0 から始まるインデックスを返します。Searches the entire sorted ArrayList for an element using the default comparer and returns the zero-based index of the element.

BinarySearch(Object, IComparer) BinarySearch(Object, IComparer) BinarySearch(Object, IComparer) BinarySearch(Object, IComparer)

指定した比較子を使用して、並べ替えられた要素の ArrayList 全体を検索し、その要素の 0 から始まるインデックスを返します。Searches the entire sorted ArrayList for an element using the specified comparer and returns the zero-based index of the element.

Clear() Clear() Clear() Clear()

ArrayList からすべての要素を削除します。Removes all elements from the ArrayList.

Clone() Clone() Clone() Clone()

ArrayList の簡易コピーを作成します。Creates a shallow copy of the ArrayList.

Contains(Object) Contains(Object) Contains(Object) Contains(Object)

ある要素が ArrayList 内に存在するかどうかを判断します。Determines whether an element is in the ArrayList.

CopyTo(Array) CopyTo(Array) CopyTo(Array) CopyTo(Array)

ArrayList 全体を互換性のある 1 次元の Array にコピーします。コピー操作は、コピー先の配列の先頭から始まります。Copies the entire ArrayList to a compatible one-dimensional Array, starting at the beginning of the target array.

CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32) CopyTo(Array, Int32)

ArrayList 全体を、互換性のある 1 次元の Array にコピーします。コピー操作は、コピー先の配列の指定したインデックスから始まる部分に行います。Copies the entire ArrayList to a compatible one-dimensional Array, starting at the specified index of the target array.

CopyTo(Int32, Array, Int32, Int32) CopyTo(Int32, Array, Int32, Int32) CopyTo(Int32, Array, Int32, Int32) CopyTo(Int32, Array, Int32, Int32)

要素の範囲を ArrayList から互換性のある 1 次元の Array にコピーします。コピー操作は、コピー先の配列の指定したインデックスから始まります。Copies a range of elements from the ArrayList to a compatible one-dimensional Array, starting at the specified index of the target array.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
FixedSize(ArrayList) FixedSize(ArrayList) FixedSize(ArrayList) FixedSize(ArrayList)

固定サイズの ArrayList ラッパーを返します。Returns an ArrayList wrapper with a fixed size.

FixedSize(IList) FixedSize(IList) FixedSize(IList) FixedSize(IList)

固定サイズの IList ラッパーを返します。Returns an IList wrapper with a fixed size.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

全体の ArrayList の列挙子を返します。Returns an enumerator for the entire ArrayList.

GetEnumerator(Int32, Int32) GetEnumerator(Int32, Int32) GetEnumerator(Int32, Int32) GetEnumerator(Int32, Int32)

ArrayList 内の要素の範囲の列挙子を返します。Returns an enumerator for a range of elements in the ArrayList.

GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetRange(Int32, Int32) GetRange(Int32, Int32) GetRange(Int32, Int32) GetRange(Int32, Int32)

元の ArrayList 内の要素のサブセットを表す ArrayList を返します。Returns an ArrayList which represents a subset of the elements in the source ArrayList.

GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
IndexOf(Object) IndexOf(Object) IndexOf(Object) IndexOf(Object)

指定した Object を検索し、ArrayList 全体内で最初に見つかった位置の 0 から始まるインデックスを返します。Searches for the specified Object and returns the zero-based index of the first occurrence within the entire ArrayList.

IndexOf(Object, Int32) IndexOf(Object, Int32) IndexOf(Object, Int32) IndexOf(Object, Int32)

指定した Object を検索し、指定したインデックスから最後の要素までの ArrayList 内の要素の範囲内で最初に出現する位置の 0 から始まるインデックス番号を返します。Searches for the specified Object and returns the zero-based index of the first occurrence within the range of elements in the ArrayList that extends from the specified index to the last element.

IndexOf(Object, Int32, Int32) IndexOf(Object, Int32, Int32) IndexOf(Object, Int32, Int32) IndexOf(Object, Int32, Int32)

指定した Object を検索し、指定したインデックスから始まって指定した数の要素を格納する ArrayList 内の要素の範囲内で最初に出現する位置の 0 から始まるインデックス番号を返します。Searches for the specified Object and returns the zero-based index of the first occurrence within the range of elements in the ArrayList that starts at the specified index and contains the specified number of elements.

Insert(Int32, Object) Insert(Int32, Object) Insert(Int32, Object) Insert(Int32, Object)

ArrayList 内の指定したインデックスの位置に要素を挿入します。Inserts an element into the ArrayList at the specified index.

InsertRange(Int32, ICollection) InsertRange(Int32, ICollection) InsertRange(Int32, ICollection) InsertRange(Int32, ICollection)

コレクションの要素を ArrayList 内の指定したインデックスの位置に挿入します。Inserts the elements of a collection into the ArrayList at the specified index.

LastIndexOf(Object) LastIndexOf(Object) LastIndexOf(Object) LastIndexOf(Object)

指定した Object を検索し、ArrayList 全体で最後に見つかった位置の 0 から始まるインデックスを返します。Searches for the specified Object and returns the zero-based index of the last occurrence within the entire ArrayList.

LastIndexOf(Object, Int32) LastIndexOf(Object, Int32) LastIndexOf(Object, Int32) LastIndexOf(Object, Int32)

指定した Object を検索し、最初の要素から、指定したインデックスまでの ArrayList 内の要素の範囲内で最後に出現する位置の 0 から始まるインデックス番号を返します。Searches for the specified Object and returns the zero-based index of the last occurrence within the range of elements in the ArrayList that extends from the first element to the specified index.

LastIndexOf(Object, Int32, Int32) LastIndexOf(Object, Int32, Int32) LastIndexOf(Object, Int32, Int32) LastIndexOf(Object, Int32, Int32)

指定した Object を検索し、指定した数の要素を含み、かつ指定したインデックスで終了する ArrayList 内の要素の範囲内で最後に出現する位置の 0 から始まるインデックス番号を返します。Searches for the specified Object and returns the zero-based index of the last occurrence within the range of elements in the ArrayList that contains the specified number of elements and ends at the specified index.

MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ReadOnly(ArrayList) ReadOnly(ArrayList) ReadOnly(ArrayList) ReadOnly(ArrayList)

読み取り専用 ArrayList ラッパーを返します。Returns a read-only ArrayList wrapper.

ReadOnly(IList) ReadOnly(IList) ReadOnly(IList) ReadOnly(IList)

読み取り専用 IList ラッパーを返します。Returns a read-only IList wrapper.

Remove(Object) Remove(Object) Remove(Object) Remove(Object)

特定のオブジェクトが ArrayList 内にあるときに、最初に出現したものを削除します。Removes the first occurrence of a specific object from the ArrayList.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

ArrayList の指定したインデックスにある要素を削除します。Removes the element at the specified index of the ArrayList.

RemoveRange(Int32, Int32) RemoveRange(Int32, Int32) RemoveRange(Int32, Int32) RemoveRange(Int32, Int32)

ArrayList から要素の範囲を削除します。Removes a range of elements from the ArrayList.

Repeat(Object, Int32) Repeat(Object, Int32) Repeat(Object, Int32) Repeat(Object, Int32)

指定した値のコピーである要素を持つ ArrayList を返します。Returns an ArrayList whose elements are copies of the specified value.

Reverse() Reverse() Reverse() Reverse()

ArrayList 全体の要素の順序を反転させます。Reverses the order of the elements in the entire ArrayList.

Reverse(Int32, Int32) Reverse(Int32, Int32) Reverse(Int32, Int32) Reverse(Int32, Int32)

指定した範囲の要素の順序を反転させます。Reverses the order of the elements in the specified range.

SetRange(Int32, ICollection) SetRange(Int32, ICollection) SetRange(Int32, ICollection) SetRange(Int32, ICollection)

コレクションの要素を ArrayList 内の要素の範囲にコピーします。Copies the elements of a collection over a range of elements in the ArrayList.

Sort() Sort() Sort() Sort()

ArrayList 全体で要素を並べ替えます。Sorts the elements in the entire ArrayList.

Sort(IComparer) Sort(IComparer) Sort(IComparer) Sort(IComparer)

指定した比較子を使用して、ArrayList 全体内の要素を並べ替えます。Sorts the elements in the entire ArrayList using the specified comparer.

Sort(Int32, Int32, IComparer) Sort(Int32, Int32, IComparer) Sort(Int32, Int32, IComparer) Sort(Int32, Int32, IComparer)

指定した比較子を使用して、ArrayList 内の要素の範囲内の要素を並べ替えます。Sorts the elements in a range of elements in ArrayList using the specified comparer.

Synchronized(ArrayList) Synchronized(ArrayList) Synchronized(ArrayList) Synchronized(ArrayList)

同期されている (スレッド セーフな) ArrayList ラッパーを返します。Returns an ArrayList wrapper that is synchronized (thread safe).

Synchronized(IList) Synchronized(IList) Synchronized(IList) Synchronized(IList)

同期されている (スレッド セーフな) IList ラッパーを返します。Returns an IList wrapper that is synchronized (thread safe).

ToArray() ToArray() ToArray() ToArray()

ArrayList の要素を新しい Object 配列にコピーします。Copies the elements of the ArrayList to a new Object array.

ToArray(Type) ToArray(Type) ToArray(Type) ToArray(Type)

ArrayList の要素を、指定した要素型の新しい配列にコピーします。Copies the elements of the ArrayList to a new array of the specified element type.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)
TrimToSize() TrimToSize() TrimToSize() TrimToSize()

容量を ArrayList 内にある実際の要素数に設定します。Sets the capacity to the actual number of elements in the ArrayList.

Extension Methods

Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable) Cast<TResult>(IEnumerable)

IEnumerable の要素を、指定した型にキャストします。Casts the elements of an IEnumerable to the specified type.

OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable) OfType<TResult>(IEnumerable)

指定された型に基づいて IEnumerable の要素をフィルター処理します。Filters the elements of an IEnumerable based on a specified type.

AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable) AsParallel(IEnumerable)

クエリの並列化を有効にします。Enables parallelization of a query.

AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable) AsQueryable(IEnumerable)

IEnumerableIQueryable に変換します。Converts an IEnumerable to an IQueryable.

適用対象

スレッド セーフ

パブリック静的 (Shared Visual Basic で) この型のメンバーはスレッド セーフです。Public static (Shared in Visual Basic) members of this type are thread safe. インスタンス メンバーの場合は、スレッド セーフであるとは限りません。Any instance members are not guaranteed to be thread safe.

ArrayListコレクションが変更されない限り、複数のリーダーを同時にサポートできます。An ArrayList can support multiple readers concurrently, as long as the collection is not modified. スレッド セーフを保証するために、 ArrayList、によって返されるラッパーを通じて、すべての操作を行う必要がある、Synchronized(IList)メソッド。To guarantee the thread safety of the ArrayList, all operations must be done through the wrapper returned by the Synchronized(IList) method.

コレクションの列挙は、本質的にスレッド セーフなプロシージャではありません。Enumerating through a collection is intrinsically not a thread-safe procedure. コレクションの同期がとられている場合でも、別のスレッドによってそのコレクションを変更できるため、変更の結果として列挙子は例外をスローします。Even when a collection is synchronized, other threads can still modify the collection, which causes the enumerator to throw an exception. 列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションをロックするか、他のスレッドによって行われた変更によってスローされる例外をキャッチします。To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.

こちらもご覧ください