広告スペース(バナー)
#️⃣C# レッスン
基本文法の基礎8
データ構造とオブジェクト指向7
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 27 / 68

HashSet(集合)を使ってみよう

このレッスンでは、C#のHashSetを使った重複のないデータの扱い方を学び、集合というデータ構造の基本を理解することを目標にします。「C# HashSet 使い方」で調べている方向けです。

HashSet<T>は、同じ値を2つ以上入れられない「重複なしの箱」です。配列から重複を取り除きたいときや、値が含まれているかを高速に調べたいときに便利です。

サンプルコードでは、重複を含む配列{1, 2, 2, 3, 3, 3}からnew HashSet<int>(nums)でHashSetを作ることで、自動的に重複が取り除かれuniqueNumsには1, 2, 3だけが残ります。Contains()で値の有無を確認している点にも注目してみましょう。

初心者がよくつまずくのが、HashSetの中身の順序が保証されないことです。配列のように追加した順序通りに並んでいるとは限らないため、順序が重要な処理には配列やListの方が適しています。

実際の開発現場では、リストのContains()よりHashSetのContains()の方が、データ量が多いときに高速に動作するという性能上の利点もあります。SortedSetという順序を保ったまま管理できる似た仕組みもあります。

📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください

🧪 このサイトではC#を直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。

🎯
ここまでできればゴール達成!
重複のないタグを管理する機能が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)