広告スペース(バナー)
🐹Go レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向7▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 27 / 68
マップで集合(重複なしのデータ)を表現する
このレッスンでは、Goでマップを使って集合(重複なしのデータ)を表現する方法を学び、データ構造の応用を理解することを目標にします。「Go言語 マップ 集合 使い方」で調べている方向けです。
Goには専用のSet型はありませんが、map[T]bool(値の有無だけを持つマップ)を使うと「重複なしの箱」を表現できます。値をキーにすることで、含まれているかを高速に調べられます。
サンプルコードでは、重複を含む配列{1, 2, 2, 3, 3, 3}の各値をseen[n] = trueという形でマップのキーとして登録することで、自動的に重複が取り除かれます。len(seen)でユニークな要素数を取得している点にも注目してみましょう。
初心者がよくつまずくのが、マップの中身の順序が保証されない点です。配列やスライスのように追加した順序通りに並んでいるとは限らないため、順序が重要な処理には別のデータ構造が適しています。
実際の開発現場では、配列を1つずつ調べる方法より、マップを使った検索の方がデータ量が多いときに高速に動作するという利点があります。
📖 お手本コード
✍️ あなたのコード
コードを書いたら「実行する」を押してください
🧪 このサイトではGoを直接コンパイル・実行できないため、お手本コードと同じ内容を入力できたかをその場で判定します(採点はブラウザ内だけで行われ、どこにも送信されません)。
🎯
ここまでできればゴール達成!
重複のないタグを管理する機能が作れるようになります。
重複のないタグを管理する機能が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)