C#のQueueクラスの使い方を解説!FIFOコレクションの基本メソッドと実装例
C#のQueue(キュー)クラスは、先入れ先出し(FIFO:First-In, First-Out)方式でオブジェクトを管理するコレクションです。追加された順番どおりに要素へアクセスしたい場合に活用されます。
要素をキューに追加することを「エンキュー(Enqueue)」、キューから取り出すことを「デキュー(Dequeue)」と呼びます。
Queueクラスの主なメソッド一覧
以下の表に、Queueクラスでよく使用されるメソッドをまとめました。
| No. | メソッドと説明 |
|---|---|
| 1 | public virtual void Clear(); Queue内のすべての要素を削除します。 |
| 2 | public virtual bool Contains(object obj); 指定した要素がQueue内に存在するかどうかを判定します。 |
| 3 | public virtual object Dequeue(); Queueの先頭にあるオブジェクトを削除し、そのオブジェクトを返します。 |
| 4 | public virtual void Enqueue(object obj); オブジェクトをQueueの末尾に追加します。 |
| 5 | public virtual object[] ToArray(); Queueの内容を新しい配列にコピーします。 |
それでは、Queueクラスの実際の使用例を見ていきましょう。
サンプルコード
using System;
using System.Collections;
namespace Demo {
class Program {
static void Main(string[] args) {
Queue q = new Queue();
q.Enqueue('X');
q.Enqueue('Y');
q.Enqueue('Z');
Console.WriteLine("Current queue: ");
foreach (char c in q) Console.Write(c + " ");
Console.WriteLine();
q.Enqueue('A');
Console.WriteLine("Current queue: ");
foreach (char c in q) Console.Write(c + " ");
Console.WriteLine();
Console.ReadKey();
}
}
}実行結果
Current queue: X Y Z Current queue: X Y Z A
このように、Enqueue()メソッドで要素を末尾に追加すると、先頭から順番に「X → Y → Z → A」という並びになります。foreachループを使えば、キューに格納された要素をFIFOの順序どおりに簡単に取り出して表示できます。
-
Androidでシングルトンクラスを使う方法をサンプルコード付きで解説
シングルトンデザインパターンとは?実装例に入る前に、まず「シングルトンデザインパターン」についておさらいしておきましょう。シングルトン(Singleton)とは、あるクラスのインスタンス生成をアプリケーション全体で1つだけに制限するデザインパターンです。主な用途としては、同時実行(並行処理)の制御や、アプリケーションがデータストアへアクセスするための中心的なアクセスポイントの作成などが挙げられます。この記事では、Androidアプリでシングルトンクラスを実際に使う方法を、ステップごとのサンプルコードとともに解説します。手順1:新規プロジェクトを作成するAndroid StudioでFile →
-
AndroidのListViewでVectorクラスを使用する方法【初心者向け解説】
AndroidのListViewでVectorクラスを活用する方法 この記事では、AndroidアプリのListView(リストビュー)において、JavaのVectorクラスを使用してデータを管理・表示する方法を、実際のコード例とともに段階的に解説します。ユーザーが入力した名前をVectorに保存し、「保存」ボタンでリストに追加、「更新」ボタンでListViewを再描画するというシンプルなサンプルアプリを作成します。 手順1:新規プロジェクトを作成する まず、Android Studioで新しいプロジェクトを作成します。メニューから「File」→「New Project」を選択し、必要な項目を