順序なしの集まり
こんにちは、徳です。
デジタルDIYができるようコーディング・プログラミング・画像加工・動画編集などを本やYouTubeで勉強しています。
現在は初心者なので、とにかくゆっくり進んでいくと思います。
また、「間違っていること」や「こうした方が良いよ」などがあれば、コメントなどしていただけたら幸いです。
では、いきましょう!
Swift
今回は、
セット
です。
Swiftには、
リストやディクショナリのようにたくさんの値を保存するもの
があります。
こちらのセットも、その中の一つです。
この記事では、
- セットとはどういうものか?
- リストやディクショナリとの違いは?
- 使い方
などを紹介します。
それではよろしくお願いします。
セットとは
セットとはどういうもの?
セットとは集合
集合とは、集合です。
ただの集合のため、並び順はありません。
リストなどと何が違うの?
Swiftには、複数の値をまとめて保存するものに
リストやディクショナリなど
があります。
セットは、リストとディクショナリなどと何が違うでしょうか?
大きな違いとして、
直接一つを取り出せない
データが重複しない
ことです。
セットは一つだけを直接取り出すことができない
セットの中身を、一つ一つを判別する方法は中身しかありません。
- リスト:インデックス番号で判別できる
- ディクショナリ:キーで判別できる
しかし、セットにはインデックス番号もキーもありません。
そのため、セットの中から一つだけを直接指定はできません。
- for文で一つ一つ出す
- ふたつのセットの共通するデータを出す
などは可能です。
データが重複しない
セットには、並び順がありません。
そのため、同じデータを入れることができません。
並び順がないため、重複しても意味がないですからね。
もしデータが重複した場合、片方は消えます。
どんなときに使う?
セットは、
中に同じデータを入れたくない
ときに使用します。
先ほども書きましたが、
セットは重複したデータは一つにまとめられる
ことになります。
そのため、重複したデータを自然に一つにまとめたいときなどにセットを使用しましょう。
どうやって使うの?
作り方
var セット名:Set = [ 値1 , 値2 , 値3 , ・・・] let セット名:Set = [ 値1 , 値2 , 値3 , ・・・]
[] 角カッコ
でセットを作成することができます。
varなら中身が変えられて、letなら中身が変えられません。
配列も [] 角カッコで作成できます。
違いは、:Setがあるかないかです。
データを重複させたくない場合は、:Setを入れてセットにしましょう。
呼び出し方
全て呼び出す
セット名
呼び出し方はそのままセット名を書けば良いです。
ここは変数と同じですね。
つまり、
var num : Set = [100 , 200 , 300]
print(num)
このようにprint関数で中身を全て見ることができます。
セットの中の一つを呼び出す
できません
セットには一つ一つの判別方法がないため、直接一つを呼び出すことはできません。
判別できないということは、
指定ができないということです。
データの追加
データを追加するときは、
セット名.insert(値)
と書きます。
var num : Set = [100 , 200 , 300];
num.insert(500);
print(num);
データの削除
データを削除するときは、
セット名.remove(値)
と書きます。
var num : Set = [100 , 200 , 300];
num.remove(200);
print(num);
まとめ
今回は、
セット
について紹介させていただきました。
セットとは、
順番のないデータの集まり
です。
リストやディクショナリなどの一つ一つに対応したものがありません。
そのため、どれか一つを直接表示させることができません。
また、重複するデータは一つにまとまります。
これにより、
重複したデータを別々で保存したくない場合はセットを使用する
ことになります。
最後まで読んでいただき、ありがとうございました。
コメント