C#のキュー(Queue)からすべてのオブジェクトを削除する方法
C#の Queue<T> からすべてのオブジェクトを一括で削除するには、Clear() メソッドを使用します。このメソッドを呼び出すと、キューに格納されている全要素が削除され、Count プロパティの値は 0 になります。
それでは、実際のコードを見てみましょう。
例1:Clear() メソッドでキューの全要素を削除する
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("要素数 = ");
Console.WriteLine(queue.Count);
// キューの全要素を削除
queue.Clear();
Console.Write("更新後の要素数 = ");
Console.WriteLine(queue.Count);
}
}出力
上記のコードを実行すると、次のような結果が表示されます。
要素数 = 8 更新後の要素数 = 0
このように、8個の要素が格納されていたキューに対して Clear() を呼び出した後は、要素数が 0 になっていることが確認できます。
例2:別のサンプルコード
もう一つ、シンプルな例を見てみましょう。
using System;
using System.Collections.Generic;
public class Demo {
public static void Main(){
Queue<string> queue = new Queue<string>();
queue.Enqueue("A");
queue.Enqueue("B");
queue.Enqueue("C");
queue.Enqueue("D");
queue.Enqueue("E");
Console.WriteLine("要素数 = " + queue.Count);
// キューの全要素を削除
queue.Clear();
Console.Write("更新後の要素数 = " + queue.Count);
}
}出力
実行結果は以下の通りです。
要素数 = 5 更新後の要素数 = 0
ポイントまとめ
Clear()メソッドは、キュー内のすべての要素を削除し、キューを空の状態にします。- 削除後もキュー自体はそのまま使用できるため、再び
Enqueue()で要素を追加できます。 - 個々の要素だけを取り出したい場合は
Dequeue()を、すべて一括で消したい場合はClear()を使うのが基本です。
-
Windows 10のエクスプローラーから「3D オブジェクト」フォルダーを削除・復元する方法
Windows 10をFall Creators Update以降へアップグレードすると、エクスプローラーに「3D オブジェクト」という新しいフォルダーが追加されます。このフォルダーは、定番のMSペイントを進化させた「Paint 3D」アプリの一部で、3Dコンテンツを作成するために用意されたものです。ただし、並び順の仕様上、エクスプローラーを開いたときに最初に表示されてしまうため、「使わないのに目立つのは邪魔」と感じるユーザーも少なくありません。Paint 3Dを使う予定がない場合は、レジストリを編集することでこのフォルダーを非表示にできます。 Windows 10で「3D オブジェクト」フ
-
JavaでArrayListのすべての要素を削除する方法(clearメソッドの使い方)
JavaのArrayListからすべての要素を一括で削除したい場合は、clear()メソッドを使用します。この記事では、実際のコード例を通じて、ArrayListの全要素を削除する手順をわかりやすく解説します。1. 要素を持つArrayListを作成するまず、複数の要素を格納したArrayListを用意しましょう。以下の例では、Integer型のArrayListに7つの数値を追加しています。ArrayList<Integer> arrlist = new ArrayList<Integer>(5); arrlist.add(25); arrlist.add(50);