English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# 泛用型と非汎用型コレクション

C#には、値やオブジェクトのシリーズを保存するための専門的なクラスを含むコレクションがあります。

C#には、非汎用型コレクションと汎用型コレクションの両方の集合タイプがあります。

System.Collections名前空間には非汎用型コレクションタイプがあり、System.Collections.Generic名前空間には汎用型コレクションタイプが含まれています。

ほとんどの情况下、汎用型コレクションを使用することをお勧めします。なぜなら、非汎用型コレクションよりもより高速で実行され、コンパイル時のエラーを最大限に減らすための機能を提供するからです。

汎用型コレクション

C#のSystem.Collections.Generic名前空間には以下の汎用型コレクションクラスが含まれています。

汎用型コレクション説明
List<T>

汎用型List<T>は指定されたタイプの要素を含みます。要素を追加する際には自動的に増加します。

Dictionary<TKey,TValue>Dictionary<TKey,TValue>はキー値ペアを含みます。
SortedList<TKey,TValue>

SortedListはキーと値のペアを保存します。デフォルトでは、キーの昇順に自動的に要素を追加します。

Queue<T>

Queue<T>はFIFOスタイル(先入先出)で値を保存します。値の追加順を保ちます。値を追加するためにEnqueue()メソッド、集合から値を検索するためにDequeue()メソッドを提供しています。

Stack<T>Stack<T>は値を後進先出(LIFO)で保存します。値を追加するためにPush()メソッド、値を検索するためにPop()とPeek()メソッドを提供しています。
Hashset<T>Hashset<T>は重複する要素を含まない要素を含みます。重複する要素を排除します。

非汎用型コレクション

非汎用型コレクション用法
ArrayList

ArrayListは配列のように何らかのオブジェクトを保存します。しかし、ArrayListは自動的に増加するため、配列のようにサイズを指定する必要はありません。

SortedList

SortedListはキーと値のペアを保存します。デフォルトでは、キーの昇順に自動的に要素を並べ替えます。C#には、汎用型と非汎用型のSortedListコレクションがあります。

Stack

Stackはこれらの値を後進先出(LIFO)の方式で保存します。値を追加するためにPush()メソッド、値を検索するためにPop()とPeek()メソッドを提供しています。C#には、汎用型Stackと非汎用型Stackの両方があります。

Queue

Queueは、先入先出(FIFO)の順序で値を保存し、追加された値の順序を保ちます。Enqueue()メソッドを使用して値を追加し、Dequeue()メソッドを使用して値を集合から取得します。C#には、ゲネリクスと非ゲネリクスの両方のQueueがあります。

Hashtable

Hashtableは、キーと値のペアを保存し、値をキーのハッシュ値を比較することで取得します。

BitArray

BitArrayは、trueをオンとするブール値で表されるコンパクトなビット値の配列を管理します。1)falseはオフを意味します。

次の章では、各種の集合について見てみましょう。