C#のコレクションクラス徹底解説:ArrayListからQueueまで基本をマスターしよう
コレクションクラスは、データの格納と取得に特化して設計された専用クラスです。これらのクラスは、スタック(Stack)、キュー(Queue)、リスト(List)、ハッシュテーブル(Hashtable)といったデータ構造をサポートしており、ほとんどのコレクションクラスは共通のインターフェースを実装しています。そのため、一度基本的な使い方を覚えれば、さまざまなコレクションを効率的に扱えるようになります。
C#には、以下のような主要なコレクションクラスが用意されています。
ArrayList
ArrayListクラスは、オブジェクトの順序付きコレクションを表します。各要素には個別にインデックスを使ってアクセスでき、動的にサイズが拡張されるため、要素数が事前にわからない場合にも便利です。
Hashtable
Hashtableは、キー(Key)を使用してコレクション内の要素にアクセスするデータ構造です。キーと値のペアを管理し、高速な検索を実現します。
SortedList
SortedListは、キーとインデックスの両方を使ってリスト内の項目にアクセスできるコレクションです。キーによって自動的にソートされるため、整列されたデータを扱いたい場合に適しています。
BitArray
BitArrayは、1と0の値によるバイナリ(ビット)表現の配列を表すクラスです。フラグ管理やビット単位の演算など、メモリ効率が求められる場面で活用されます。
Stack
Stackは「後入れ先出し(LIFO:Last-In, First-Out)」方式のオブジェクトコレクションです。最後に追加した要素が最初に取り出されるため、履歴管理や巻き戻し処理などによく使われます。
Queue
Queueは「先入れ先出し(FIFO:First-In, First-Out)」方式のオブジェクトコレクションです。最初に追加した要素が最初に取り出されるため、タスクの待ち行列処理などに適しています。
それでは、C#におけるArrayListクラスの具体的な使用例を見てみましょう。
サンプルコード
using System;
using System.Collections;
namespace Demo {
class Program {
static void Main(string[] args) {
ArrayList al = new ArrayList();
al.Add(99);
al.Add(76);
al.Add(87);
al.Add(46);
al.Add(55);
Console.WriteLine("Capacity: {0} ", al.Capacity);
Console.WriteLine("Count: {0}", al.Count);
Console.Write("Elements: ");
foreach (int i in al) {
Console.Write(i + " ");
}
Console.WriteLine();
Console.ReadKey();
}
}
}実行結果
Capacity: 8 Count: 5 Elements: 99 76 87 46 55
この例では、ArrayListに5つの整数を追加しています。Capacityプロパティは現在確保されている内部配列の容量を示し、Countプロパティは実際に格納されている要素数を返します。ArrayListは容量を超えると自動的にサイズを拡張するため、この実行結果では容量が8になっています。foreachループを使えば、格納されたすべての要素を順番に取り出して表示できます。
-
Microsoft Edge Insiderで「コレクション」機能を使う方法|有効化からエクスポートまで徹底解説
「コレクション(Collections)」は、Chromiumベースの新しいMicrosoft Edgeブラウザに搭載されている機能です。ウェブページから情報を手軽にまとめることを目的としており、テキスト・画像・リンクを専用のパネルに保存して、後から参照できるようになります。 コレクション機能は現在、Edge InsiderのCanaryチャンネルおよびDevチャンネルで利用可能です。ただし、初期状態では無効になっているため、実験用フラグを操作して手動で有効化する必要があります。 コレクション機能を有効化する方法 まずEdge Insiderを起動し、アドレスバーにedge://flagsと入
-
Bingのコレクション機能で検索結果を保存・整理する方法
Webを検索しながらメモを取る方法は数え切れないほど存在し、Microsoft自身もさまざまな手段を提供しています。To-Do、OneNote、そしてEdgeの新機能「コレクション」など、検索結果をあとで見返すために保存する選択肢は非常に豊富です。 Bingには独自の「コレクション」機能が標準搭載 しかし、Bingを普段使っているのであれば、こうした外部ツールは必要ないかもしれません。現在ではほとんど話題になることはありませんが、実はBingには独自の「コレクション」機能が何年も前から搭載されています。この機能を利用すると、検索結果から画像・動画・ニュースを、メモアプリとPinterestを