集合 — 要素の所属確認と演算
Swift Setを使って一意な要素を扱い、高速な所属確認、集合演算(union/intersection/subtracting/symmetricDifference)、関係(subset/superset/disjoint)を学びます。
「集合 — 要素の所属確認と演算」はCoddyKit上の無料Swift Academyレッスンです。 これはレッスン2/3です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSwift Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Swift Academyコースには全3レッスンが含まれています。
Setを使う理由
目標: 重複のない順序なしの値を扱い、高速に存在確認できるSetを使いこなします。集合演算と関係を使ってデータを考察する方法も学びます。
作成とcontains
Setを作成し、要素を追加・削除してcontainsで確認します。重複は無視されます。
var fruits: Set<String> = ["apple", "banana"]
fruits.insert("banana") // no duplicate added
fruits.insert("cherry")
fruits.remove("apple")
print("has banana?", fruits.contains("banana"))集合演算
union、intersection、subtracting、symmetricDifferenceを使用します。
let evens: Set<Int> = [2,4,6,8]
let odds: Set<Int> = [1,3,5,7]
print("union", evens.union(odds).sorted())
print("intersect", evens.intersection([2,3,4,5]).sorted())
print("subtract", evens.subtracting([2,8]).sorted())
print("symDiff", evens.symmetricDifference([4,10]).sorted())関係
関係を確認するには、isSubset、isSuperset、isDisjointを使用します。
let a: Set<Int> = [1,2]
let b: Set<Int> = [1,2,3,4]
print("a ⊆ b?", a.isSubset(of: b))
print("b ⊇ a?", b.isSuperset(of: a))
print("disjoint?", a.isDisjoint(with: [3,4]))反復とソート
Setには順序がありません。安定した順序(UIへの出力など)が必要な場合はソートします。
let colors: Set<String> = ["red", "blue", "green"]
// Sets are unordered; sort for deterministic output
for c in colors.sorted() { print(c) }ヒントとパフォーマンス
ヒント:
- 存在確認にはSetを優先します(多くの場合O(1)です)。
- 要素はHashableである必要があります(String、Int、多くのEnumはそのまま使用できます)。
- 順序が重要な場合は
Arrayに変換するか、sorted()を使用します。
対称差
確認: どちらか一方のSetに含まれ、両方には含まれない要素を返すメソッドはどれですか?
まとめ
まとめ: Setは重複のない要素を格納し、存在確認に適しています。集合演算(union/intersection/subtracting/symmetricDifference)と関係(subset/superset/disjoint)を練習しましょう。
AI チューターと学ぶ Swift — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 122
- レッスン
- 409
よくある質問
「集合 — 要素の所属確認と演算」レッスンは無料ですか?
はい。「集合 — 要素の所属確認と演算」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Swift Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Swift Academyコースには全3レッスンが含まれています。
「集合 — 要素の所属確認と演算」で何を学びますか?
Swift Setを使って一意な要素を扱い、高速な所属確認、集合演算(union/intersection/subtracting/symmetricDifference)、関係(subset/superset/disjoint)を学びます。 ブラウザで直接実行するハンズオンコードでSwift Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Swift Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのSwift Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/3です。
「集合 — 要素の所属確認と演算」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このSwift Academyレッスンでコードを書いて実行できますか?
はい。すべてのSwift Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 配列、辞書、集合
- 集合 — 要素の所属確認と演算
- 反復パターンと可変性