C#のStackに特定の要素が含まれているか確認する方法(Containsメソッド)
C#のStackに特定の要素が含まれているか確認する方法
C#でStack(スタック)コレクションに特定の要素が含まれているかどうかを調べるには、Contains()メソッドを使用します。Contains()メソッドは、引数に指定した要素がStack内に存在する場合は「True」、存在しない場合は「False」を返します。
以下、実際のコード例を見ていきましょう。
例1:整数型(int)のStack
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(){
Stack<int> stack = new Stack<int>();
stack.Push(100);
stack.Push(150);
stack.Push(175);
stack.Push(200);
stack.Push(225);
stack.Push(250);
stack.Push(300);
stack.Push(400);
stack.Push(450);
stack.Push(500);
Console.WriteLine("Stack内の要素:");
foreach(var val in stack){
Console.WriteLine(val);
}
Console.WriteLine("Stack内の要素数 = " + stack.Count);
Console.WriteLine("Stackに400は含まれるか? = " + stack.Contains(400));
}
}
実行結果
Stack内の要素: 500 450 400 300 250 225 200 175 150 100 Stack内の要素数 = 10 Stackに400は含まれるか? = True
上記の出力からわかるように、StackはLIFO(後入れ先出し)構造であるため、最後にPushした「500」が最初に表示されています。また、stack.Contains(400) の結果が「True」となっており、要素400がStackに含まれていることが確認できました。
例2:文字列型(string)のStack
次に、文字列を扱う場合の例を見てみましょう。
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(){
Stack<string> stack = new Stack<string>();
stack.Push("Steve");
stack.Push("Gary");
stack.Push("Stephen");
stack.Push("Nathan");
stack.Push("Katie");
stack.Push("Andy");
stack.Push("David");
stack.Push("Amy");
Console.WriteLine("Stack内の要素:");
foreach(var val in stack){
Console.WriteLine(val);
}
Console.WriteLine("Stack内の要素数 = " + stack.Count);
Console.WriteLine("StackにMichaelは含まれるか? = " + stack.Contains("Michael"));
}
}
実行結果
Stack内の要素: Amy David Andy Katie Nathan Stephen Gary Steve Stack内の要素数 = 8 StackにMichaelは含まれるか? = False
この例では、「Michael」という名前はStackに存在しないため、Contains()メソッドは「False」を返しています。
まとめ
- Stack<T>に特定の要素が含まれているか確認するには、Contains()メソッドを使用する。
- 要素が存在すればTrue、存在しなければFalseが返される。
- StackはLIFO(後入れ先出し)構造のため、foreachによる列挙順序はPushした順序と逆になる点に注意が必要。
-
C#のStackクラスとは?使い方と基本操作をわかりやすく解説
C#のStackクラスは、要素を「後入れ先出し(LIFO:Last-In, First-Out)」の形式で管理するためのコレクションです。最後に追加した要素が最初に取り出されるという特性を持つため、履歴管理や元に戻す(Undo)処理など、特定の順序でデータを扱いたい場面で活用されます。 Stackの基本操作:Push と Pop Stackでは、要素を追加することを「プッシュ(Push)」、要素を取り出すことを「ポップ(Pop)」と呼びます。 Push:スタックの一番上に新しい要素を追加する Pop:スタックの一番上から要素を取り出して削除する Stackクラスの使用例 まず、Stackに
-
C#のStackクラスを徹底解説!PushとPopの使い方とサンプルコード
C#のStackクラスは、LIFO(Last-In, First-Out:後入れ先出し)方式でオブジェクトを管理するコレクションです。最後に追加した要素から順に取り出したい場合に活用されます。 Stackクラスには、以下のような便利なプロパティが用意されています。 Count … スタック内に格納されている要素数を取得します。 Push操作:スタックへの要素追加 Pushメソッドを使うと、スタックの先頭(一番上)に新しい要素を追加できます。 Stack st = new Stack(); st.Push(A); st.Push(B); st.Push(C); st.Push(D); この