クリックして評価とフィードバックをお寄せください
MSDN
MSDN ライブラリ
Visual Studio 2005
Visual Studio ドキュメント
.NET Framework の基本開発
開発の基本
 ArrayList コレクション型と List コレクション型
このページは次のバージョンについて記述しています。
Microsoft Visual Studio 2005/.NET Framework 2.0

その他のバージョンについては、以下の情報を参照してください。
.NET Framework 開発者ガイド
ArrayList コレクション型と List コレクション型

ArrayList オブジェクトまたは List オブジェクトは、より複雑な機能を備えた配列です。ArrayList クラスと List ジェネリック クラスには、ほとんどの System.Collections クラスにはあるが Array クラスにはないいくつかの機能が備わっています。次に例を示します。

  • Array の容量が固定されているのに対し、ArrayList または List の容量は必要に応じて自動的に拡張されます。Capacity プロパティの値が変更されると、メモリの再割り当てと要素のコピーが自動的に行われます。

  • ArrayListList には、任意の範囲の要素を追加、挿入、または削除するメソッドがあります。Array では、一度に取得または設定できるのは、1 つの要素の値だけです。

  • 同期をとる形式の ArrayList または List は、Synchronized メソッドを使用して簡単に作成できます。Array クラスでは、同期を実装するかどうかが開発者に任されています。

  • ArrayListList には、読み取り専用ラッパーと固定サイズ ラッパーをコレクションに返すメソッドがあります。Array にはありません。

その一方で、Array は、ArrayListList にはない柔軟性を備えています。次に例を示します。

  • Array の下限は設定できますが、ArrayList または List の下限は常に 0 です。

  • Array には複数の次元を指定できますが、ArrayList または List の次元は常に 1 次元です。

  • Object 以外の特定の型を持つ Array は、パフォーマンスの点で ArrayList より優れています。これは、ArrayList の要素は Object 型であり、したがって、値型を格納または取得する場合に通常はボックス化やボックス化解除が行われるためです。ただし、List では、再割り当てが必要ない場合、つまり初期量がリストの最大サイズに対して適切な量である場合、同じ型の配列と同様のパフォーマンスになります。

配列を必要とするほとんどの状況では、代わりに ArrayList または List を使用できます。これらは簡単に使用でき、一般に同じ型の配列と同様のパフォーマンスを発揮します。

ArraySystem 名前空間に含まれ、ArrayListSystem.Collections 名前空間に含まれ、ListSystem.Collections.Generic 名前空間に含まれます。

参照

コミュニティ コンテンツ   コミュニティ コンテンツとは
新しいコンテンツの追加 RSS  注釈
Processing
© 2012 Microsoft. All rights reserved. 使用条件 | 商標 | プライバシー
Page view tracker