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

C#のQueue.Clearメソッドの使い方を徹底解説!キューの全要素を削除する方法

C#の Queue<T>.Clear() メソッドは、キュー(Queue)に格納されているすべての要素を一括で削除するためのメソッドです。このメソッドを呼び出すと、キュー内の全オブジェクトが取り除かれ、Count プロパティは 0 になります。

構文

Clearメソッドの構文は以下のとおりです。

public virtual void Clear();

引数は不要で、戻り値もありません。呼び出すだけでキューの中身が空になります。

使用例1:基本的な使い方

まずは基本的な例を見てみましょう。複数の要素をEnqueueメソッドで追加した後、Clearメソッドですべて削除します。

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);
      queue.Enqueue(400);
      queue.Enqueue(500);
      queue.Enqueue(600);
      queue.Enqueue(700);
      queue.Enqueue(800);
      queue.Enqueue(900);
      queue.Enqueue(1000);

      Console.WriteLine("Queue...");
      foreach(int i in queue) {
         Console.WriteLine(i);
      }

      Console.WriteLine("キューの要素数 = " + queue.Count);

      queue.Clear();

      Console.WriteLine("クリア後の要素数 [更新] = " + queue.Count);
   }
}

出力結果

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

Queue...
100
200
300
400
500
600
700
800
900
1000
キューの要素数 = 10
クリア後の要素数 [更新] = 0

このように、10個の要素が格納されていたキューに対して Clear() を呼び出した直後には、要素数が 0 になっていることが確認できます。

使用例2:要素追加後にクリアするケース

次に、途中で要素を追加してからクリアする例を見てみましょう。

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.WriteLine("Queue...");
      foreach(int i in queue) {
         Console.WriteLine(i);
      }

      Console.WriteLine("キューの要素数 = " + queue.Count);

      queue.Enqueue(800);
      queue.Enqueue(900);
      queue.Enqueue(1000);

      Console.WriteLine("追加後の要素数 [更新] = " + queue.Count);

      queue.Clear();

      Console.WriteLine("クリア後の要素数 [更新] = " + queue.Count);
   }
}

出力結果

実行すると以下の出力が得られます。

Queue...
100
200
300
キューの要素数 = 3
追加後の要素数 [更新] = 6
クリア後の要素数 [更新] = 0

まとめ

Queue<T>.Clear() メソッドを使うことで、キュー内のすべての要素を簡単に削除できます。主なポイントは以下のとおりです。

  • 引数なしで呼び出せるシンプルなメソッドである
  • 呼び出し後、Count プロパティは必ず 0 になる
  • 戻り値はないため、削除された要素を受け取ることはできない

キューを再利用したい場合や、メモリを解放したい場合に便利なメソッドなので、ぜひ活用してみてください。

  1. Spotifyのキューをクリアする方法|PC・Mac・Android・iPhone別の手順を解説

    Spotifyに毎日の音楽選びを丸ごと任せるのは手軽ですが、自動生成されたプレイリストに飽きてしまったら、ひと工夫が必要です。とはいえ、Apple Musicなどの他サービスへ乗り換える必要はありません。Spotifyのキュー機能を活用すれば、自分だけのお気に入りリストを作りながら、おすすめ楽曲も自然に育てていくことができます。 Spotifyのキューを使えば、アイアン・メイデンからベートーヴェンへといった大胆な曲順の切り替えも自由自在。数時間分、さらには数日分もの楽曲やプレイリストをキューに積み込み、1曲ずつ、あるいはプレイリスト単位で順番に聴けます。そんな便利なキューも、整理したくなるタイ

  2. C#のQueue(キュー)クラスとは?FIFOの基本とEnqueue・Dequeueの使い方

    C#のキュー(Queue)とは キュー(Queue)は、オブジェクトを「先入れ先出し(FIFO:First-In, First-Out)」で管理するコレクションです。最初に追加した要素が最初に取り出されるという特性を持つため、タスクの順番待ちや処理の履歴管理など、追加された順序どおりに要素へアクセスしたい場面で活用されます。 要素をキューに追加することを「エンキュー(Enqueue)」、キューから要素を取り出すことを「デキュー(Dequeue)」と呼びます。 要素の追加:Enqueueメソッド キューに要素を追加するには、Enqueueメソッドを使用します。 Queue q = new Qu