ArrayList クラス
必要に応じてサイズが動的に増加する配列を使用して、 IList インターフェイスを実装します。
この型のすべてのメンバの一覧については、ArrayList メンバ を参照してください。
System.Object
System.Collections.ArrayList
System.Windows.Forms.DomainUpDown.DomainUpDownItemCollection
<Serializable>
Public Class ArrayList Implements IList, ICollection, IEnumerable, ICloneable
[C#]
[Serializable]
public class ArrayList : IList, ICollection, IEnumerable, ICloneable
[C++]
[Serializable]
public __gc class ArrayList : public IList, ICollection, IEnumerable, ICloneable
[JScript]
public
Serializable
class ArrayList implements IList, ICollection, IEnumerable, ICloneable
スレッドセーフ
この型の public static (Visual Basic では Shared) メンバは、マルチスレッド操作に対して安全です。インスタンス メンバがスレッド セーフになるかどうかは保証されていません。
ArrayList では、複数の読み込み操作が同時に発生しても、コレクションが変更されない限り問題ありません。 ArrayList を確実にスレッド セーフにするためには、すべての操作を Synchronized メソッドから返されるラッパー経由で実行する必要があります。
コレクションの列挙処理は、本質的にはスレッド セーフな処理ではありません。コレクションが同期されている場合でも、他のスレッドがそのコレクションを変更する可能性はあり、そのような状況が発生すると列挙子は例外をスローします。列挙処理を確実にスレッド セーフに行うには、列挙中にコレクションをロックするか、他のスレッドによって行われた変更によってスローされる例外をキャッチします。
解説
ArrayList の容量は、リストが保持できる要素の数です。 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(ControlChars.Tab + "Count: {0}", myAL.Count)
Console.WriteLine(ControlChars.Tab + "Capacity: {0}", myAL.Capacity)
Console.Write(ControlChars.Tab + "Values:")
PrintValues(myAL)
End Sub
Public Shared Sub PrintValues(myList As IEnumerable)
Dim myEnumerator As System.Collections.IEnumerator = _
myList.GetEnumerator()
While myEnumerator.MoveNext()
Console.Write(ControlChars.Tab + "{0}", myEnumerator.Current)
End While
Console.WriteLine()
End Sub
End Class
' This code produces the following output.
'
' myAL
' Count: 3
' Capacity: 16
' Values: Hello World !
[C#]
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( "\tCount: {0}", myAL.Count );
Console.WriteLine( "\tCapacity: {0}", myAL.Capacity );
Console.Write( "\tValues:" );
PrintValues( myAL );
}
public static void PrintValues( IEnumerable myList ) {
System.Collections.IEnumerator myEnumerator = myList.GetEnumerator();
while ( myEnumerator.MoveNext() )
Console.Write( "\t{0}", myEnumerator.Current );
Console.WriteLine();
}
}
/*
This code produces the following output.
myAL
Count: 3
Capacity: 16
Values: Hello World !
*/
[C++]
#using <mscorlib.dll>
using namespace System;
using namespace System::Collections;
void PrintValues( IEnumerable* myList );
void main() {
// Creates and initializes a new ArrayList.
ArrayList* myAL = new ArrayList();
myAL->Add(S"Hello");
myAL->Add(S"World");
myAL->Add(S"!");
// Displays the properties and values of the ArrayList.
Console::WriteLine( "myAL" );
Console::WriteLine( "\tCount: {0}", __box(myAL->Count) );
Console::WriteLine( "\tCapacity: {0}", __box(myAL->Capacity) );
Console::Write( "\tValues:" );
PrintValues( myAL );
}
void PrintValues( IEnumerable* myList ) {
System::Collections::IEnumerator* myEnumerator = myList->GetEnumerator();
while ( myEnumerator->MoveNext() )
Console::Write( "\t{0}", myEnumerator->Current );
Console::WriteLine();
}
/*
This code produces the following output.
myAL
Count: 3
Capacity: 16
Values: Hello World !
*/
[JScript]
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 the following output.
myAL
Count: 3
Capacity: 16
Values: Hello World !
*/
必要条件
名前空間: System.Collections
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET
アセンブリ: Mscorlib (Mscorlib.dll 内)
参照
ArrayList メンバ | System.Collections 名前空間 | IList | カルチャを認識しないコレクションの操作の実行