C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#のQueue.Contains()メソッドとは?要素の存在確認方法を実例で解説

C#のQueue.Contains()メソッドは、指定した要素がQueue(キュー)内に存在するかどうかを判定するために使用されるメソッドです。戻り値としてbool型(true / false)を返し、要素が見つかればtrue、存在しなければfalseを返します。

構文

Contains()メソッドの基本的な構文は以下のとおりです。

public virtual bool Contains (object ob);

引数obには、Queue内で検索したい対象のオブジェクトを指定します。

使用例1:文字列のQueueで要素を検索する

まずは文字列を格納したQueueに対して、特定の要素が含まれているかを確認する例を見てみましょう。

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main() {
      Queue<string> queue = new Queue<string>();
      queue.Enqueue("Gary");
      queue.Enqueue("Jack");
      queue.Enqueue("Ryan");
      queue.Enqueue("Kevin");
      queue.Enqueue("Mark");
      queue.Enqueue("Jack");
      queue.Enqueue("Ryan");
      queue.Enqueue("Kevin");
      Console.Write("Count of elements = ");
      Console.WriteLine(queue.Count);
      Console.WriteLine("Does the queue has element Jack? = " + queue.Contains("Jack"));
      queue.Clear();
      Console.Write("Count of elements (updated) = ");
      Console.WriteLine(queue.Count);
   }
}

実行結果

上記のコードを実行すると、次のような出力が得られます。

Count of elements = 8
Does the queue has element Jack? = True
Count of elements (updated) = 0

この例では、8つの要素を持つQueueの中に「Jack」が存在するため、Contains()メソッドはtrueを返しています。その後、Clear()メソッドですべての要素を削除すると、要素数が0になっていることが確認できます。

使用例2:整数のQueueで存在しない要素を検索する

次に、整数を格納したQueueで、存在しない要素を検索した場合の動作を確認してみましょう。

using System;
using System.Collections.Generic;
public class Demo {
   public static void Main() {
      Queue<int> queue = new Queue<int>();
      queue.Enqueue(100);
      queue.Enqueue(200);
      queue.Enqueue(300);
      Console.Write("Count of elements = ");
      Console.WriteLine(queue.Count);
      Console.WriteLine("Does the queue has element 500? = " + queue.Contains(500));
      queue.Clear();
      Console.Write("Count of elements (updated) = ");
      Console.WriteLine(queue.Count);
   }
}

実行結果

このコードを実行すると、以下の出力が得られます。

Count of elements = 3
Does the queue has element 500? = False
Count of elements (updated) = 0

Queueには100・200・300の3つの要素しか格納されていないため、「500」を検索した結果はfalseとなりました。このように、Contains()メソッドを使えば、要素の有無を簡単にチェックできます。

まとめ

  • Queue.Contains()メソッドは、指定した要素がキュー内に存在するかを判定する
  • 要素が存在すればtrue、存在しなければfalseを返す
  • 線形探索(先頭から順に比較)で検索が行われるため、計算量はO(n)

要素の存在確認が必要な場面では、このContains()メソッドを活用することで、簡潔かつ安全にコードを書くことができます。

  1. C#のContainsKey()メソッドとは?Hashtableでキーの存在を確認する方法

    C#のContainsKey()メソッドは、Hashtableコレクション内に指定したキーが存在するかどうかを確認するための便利なメソッドです。キーが存在する場合はTrue、存在しない場合はFalseを返します。ContainsKey()メソッドの基本的な使い方まず、Hashtableコレクションを作成し、いくつかの要素を追加してみましょう。Hashtable h = new Hashtable(); h.Add(1, Sam); h.Add(2, Jack); h.Add(3, Andy); h.Add(4, Katie); h.Add(5, Beth); h.Add(6, Benjamin

  2. C#のLinkedListでContains()メソッドを使って要素の存在を確認する方法

    C#のLinkedList<T>クラスには、リスト内に特定の要素が存在するかどうかを確認するためのContains()メソッドが用意されています。この記事では、Contains()メソッドの基本的な使い方をサンプルコードとともに解説します。LinkedListの準備まず、次のように整数型の配列からLinkedListを作成します。int[] num = {1, 3, 7, 15}; LinkedList<int> list = new LinkedList<int>(num);Contains()メソッドとはContains()メソッドは、引数に指定した値が