Stack コレクション型

System.Collections.Stack クラス、System.Collections.Generic.Stack<T> ジェネリック クラス、および System.Collections.Concurrent.ConcurrentStack<T> ジェネリック クラスは、ICollection インターフェイスを実装する後入れ先出しコレクション クラスです。 System.Collections.Generic.Stack<T> ジェネリック クラスおよび System.Collections.Concurrent.ConcurrentStack<T> ジェネリック クラスは、ICollection<T> ジェネリック インターフェイスも実装します。

スタックとキューはどちらも、情報の一時的なストレージが必要な場合、つまり要素の値を取得した後でその要素を破棄するような場合に便利です。 コレクションに格納された順序と同じ順序で情報にアクセスする必要がある場合は、System.Collections.Queue を使用します。 また、逆の順序で情報にアクセスする必要がある場合は、System.Collections.Generic.Stack<T> を使用します。

複数のスレッドからコレクションに同時にアクセスする必要がある場合は、System.Collections.Concurrent.ConcurrentStack<T> 型および System.Collections.Concurrent.ConcurrentQueue<T> 型を使用します。

System.Collections.Generic.Stack<T> の一般的な使用方法は、他のプロシージャの呼び出し中に変数の状態を維持することです。

System.Collections.Generic.Stack<T> とその要素に対しては、次の 3 つの主要操作を実行できます。

  • Push - Stack の一番上に要素を挿入します。

  • Pop - Stack<T> の一番上にある要素を削除します。

  • Peek - Stack<T> の一番上にある要素を返しますが、その要素を Stack<T> から削除しません。

    System.Collections.Concurrent.ConcurrentStack<T> クラスには、値をポップできない場合に false (Visual Basic の場合は False) を返す TryPop メソッドおよび TryPopRange メソッドが用意されています。 TryPopRange メソッドおよび PushRange メソッドでは、1 回の操作で複数の要素を効率的にプッシュおよびポップできます。

参照

参照

Stack

System.Collections.Generic.Stack<T>

Queue

System.Collections.Generic.Queue<T>

ICollection

System.Collections.Generic.ICollection<T>

ConcurrentStack<T>

ConcurrentQueue<T>

その他の技術情報

一般的に使用されるコレクション型