Menu
Coddy logo textTech

What is a HashSet?

CoddyのC#ジャーニー「ロジックとフロー」セクションの一部 — レッスン 56/66。

HashSet は、C# におけるコレクションで、特定の順序なしに一意の要素を格納します。System.Collections.Generic 名前空間の一部であり、高性能なセット操作を提供します。

まず、必要な名前空間を含めます:

using System.Collections.Generic;

空の HashSet を作成:

HashSet<string> fruits = new HashSet<string>();

これにより、文字列を格納できる HashSet が作成されます。

配列やリストとは異なり、HashSet は:

  • 重複要素を許可しません
  • 挿入順序を保持しません
  • 高速なルックアップ操作を提供します (O(1) 複雑度)
  • 一意性を確保する必要がある場合に理想的です

重複する要素を追加しようとすると、HashSet はそれを無視します:

fruits.Add("Apple");
fruits.Add("Apple"); // This is ignored

上記のコードを実行した後、セットには依然として1つの "Apple" のみが含まれています。

チートシート

HashSet は、特定の順序なしで一意の要素を格納し、高速なルックアップ操作を提供するコレクションです。

必要な名前空間を含めます:

using System.Collections.Generic;

HashSet を作成:

HashSet<string> fruits = new HashSet<string>();

主な特徴:

  • 重複要素は許可されません
  • 挿入順序は維持されません
  • 高速なルックアップ操作 (O(1) 複雑度)
  • 重複した追加は無視されます

要素の追加:

fruits.Add("Apple");
fruits.Add("Apple"); // 無視 - 重複なし

自分で試してみよう

このレッスンにはコードチャレンジは含まれていません。

quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン