ArrayList クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Class ArrayList Implements IList, ICollection, IEnumerable, ICloneable
[SerializableAttribute] [ComVisibleAttribute(true)] public class ArrayList : IList, ICollection, IEnumerable, ICloneable
[SerializableAttribute] [ComVisibleAttribute(true)] public ref class ArrayList : IList, ICollection, IEnumerable, ICloneable

ArrayList が並べ替えられることは保証されていません。ArrayList を並べ替える必要のある操作 (BinarySearch など) を実行する前に、ArrayList を並べ替える必要があります。
ArrayList の容量は、ArrayList が保持できる要素数になります。ArrayList の既定の初期量は 0 です。ArrayList に要素を追加すると、必要に応じて、再割り当てによって容量が自動的に増加します。容量を減らすには、TrimToSize を呼び出すか、Capacity プロパティを明示的に設定します。
このコレクション内の要素は、整数インデックスを使用してアクセスできます。このコレクションのインデックスは 0 から始まります。
ArrayList は、null 参照 (Visual Basic では Nothing) を有効な値として受け取り、要素の重複を許可します。

ArrayList を作成および初期化する方法と、その値を出力する方法を次のコード例に示します。
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 !
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: f Values: Hello World ! */
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 ! */
import System.*; import System.Collections.*; public class SamplesArrayList { public static void main(String[] args) { // 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}", (Int32)myAL.get_Count()); Console.WriteLine(" Capacity: {0}", (Int32)myAL.get_Capacity()); Console.Write(" Values:"); PrintValues(myAL); } //main public static void PrintValues(IEnumerable myList) { IEnumerator objMyEnum = myList.GetEnumerator(); while (objMyEnum.MoveNext()) { Object obj = objMyEnum.get_Current(); Console.Write(" {0}", obj); } Console.WriteLine(); } //PrintValues } //SamplesArrayList /* This code produces output similar to the following: myAL Count: 3 Capacity: 4 Values: Hello World ! */
import System; import System.Collections; // Creates and initializes a new ArrayList. var myAL : ArrayList = new ArrayList(); myAL.Add("Hello"); myAL.Add("World"); myAL.Add("!"); // Displays the properties and values of the ArrayList. Console.WriteLine( "myAL" ); Console.WriteLine( "\tCount: {0}", myAL.Count ); Console.WriteLine( "\tCapacity: {0}", myAL.Capacity ); Console.Write( "\tValues:" ); PrintValues( myAL ); function PrintValues( myList : IEnumerable ) { var myEnumerator : System.Collections.IEnumerator = myList.GetEnumerator(); while ( myEnumerator.MoveNext() ) Console.Write( "\t{0}", myEnumerator.Current ); Console.WriteLine(); } /* This code produces output similar to the following: myAL Count: 3 Capacity: 4 Values: Hello World ! */

System.Collections.ArrayList
System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection

この型の public static (Visual Basic では Shared) メンバは、スレッド セーフです。すべてのインスタンス メンバがスレッド セーフになるかどうかは保証されていません。
ArrayList では、複数の読み込み操作が同時に発生しても、コレクションが変更されない限り問題ありません。ArrayList を確実にスレッド セーフにするためには、すべての操作を Synchronized メソッドから返されるラッパー経由で実行する必要があります。
コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。コレクションが同期されている場合でも、他のスレッドがそのコレクションを変更する可能性はあり、そのような状況が発生すると列挙子は例外をスローします。列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションをロックするか、他のスレッドによって行われた変更によってスローされる例外をキャッチします。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ArrayList コンストラクタ ()
アセンブリ: mscorlib (mscorlib.dll 内)


ArrayList の容量は、ArrayList が保持できる要素数になります。ArrayList に要素を追加すると、必要に応じて、内部の配列の再割り当てによって容量が自動的に増加します。
コレクションのサイズを推定できる場合は、初期量を指定すると、ArrayList に要素を追加するときに、サイズ変更操作を何度も実行する必要がなくなります。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ArrayList コンストラクタ (ICollection)
アセンブリ: mscorlib (mscorlib.dll 内)



ArrayList の容量は、ArrayList が保持できる要素数になります。ArrayList に要素を追加すると、必要に応じて、内部の配列の再割り当てによって容量が自動的に増加します。
コレクションのサイズを推定できる場合は、初期量を指定すると、ArrayList に要素を追加するときに、サイズ変更操作を何度も実行する必要がなくなります。
要素は、ICollection の IEnumerator によって読み取られる順序と同じ順序で、ArrayList にコピーされます。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ArrayList コンストラクタ (Int32)
アセンブリ: mscorlib (mscorlib.dll 内)



ArrayList の容量は、ArrayList が保持できる要素数になります。ArrayList に要素を追加すると、必要に応じて、内部の配列の再割り当てによって容量が自動的に増加します。
コレクションのサイズを推定できる場合は、初期量を指定すると、ArrayList に要素を追加するときに、サイズ変更操作を何度も実行する必要がなくなります。

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


ArrayList コンストラクタ

名前 | 説明 |
---|---|
ArrayList () | 空で、既定の初期量を備えた、ArrayList クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
ArrayList (ICollection) | 指定したコレクションからコピーした要素を格納し、コピーされる要素の数と同じ初期量を備えた、ArrayList クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
ArrayList (Int32) | 空で、指定した初期量を備えた、ArrayList クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |

ArrayList プロパティ
ArrayList メソッド


名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |

ArrayList メンバ
必要に応じてサイズが動的に増加する配列を使用して、IList インターフェイスを実装します。
ArrayList データ型で公開されるメンバを以下の表に示します。




名前 | 説明 | |
---|---|---|
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |

- ArrayListのページへのリンク