Set


Set


SWIFTのSetタイプはNSSetクラスのブリッジ形式である.
Setタイプは、順序が重要でない場合、または1つのアイテムのみが必要な場合に使用できます.

Set構文


Setタイプの構文はSetによって作成され、以下のように初期化できます.
var strs = Set<String>()
初期化されている場合は、以下のように空のオブジェクトとして作成できます.
strs = []
初期化時に値が含まれている場合は、次の操作を行います.
strs = Set(["A", "B", "C", "D"])
「挿入」、「削除」の方法でSetオブジェクトを追加または削除できます.
strs.insert("E")
strs.remove("B")	// "B"
containsメソッドを使用して、特定の項目が含まれているかどうかを確認できます.
strs.contains("C") // true
オブジェクトのcountプロパティとisEmptyプロパティを設定することで、そのサイズを決定できます.
strs.isEmpty 	// false
strs.count 	// 4
For Loopsでは、Setオブジェクトからエントリを取得できます.
for str in strs {
println(str)
}

Set演算の使用と比較


2つのセット(たとえば、セット)を組み合わせて、一部を同時に含むか、含まないか、または含まないかを実行できます.

Set操作


  • union:2つのセットを1つの新しいセットにマージします.
  • 減算:重複部分を除外して新しいセットを作成します.
  • 交差:2つの集合の重複部分で新しい集合を作成します.
  • 排他Or:2つのセットの重複する部分以外の部分で新しいセットを作成します.
    let oddDigits: Set = [1, 3, 5, 7, 9]
    let evenDigits: Set = [0, 2, 4, 6, 8]
    let singleDigitPrimeNumbers: Set = [2, 3, 5, 7]
    sorted(oddDigits.union(evenDigits))
    // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
    sorted(oddDigits.intersect(evenDigits))
    // []
    sorted(oddDigits.subtract(singleDigitPrimeNumbers))
    // [1, 9]
    sorted(oddDigits.exclusiveOr(singleDigitPrimeNumbers))
    // [1, 2, 9]

    比較セット


  • sSubsetOf:Setのすべての値は、特定のSetに含まれます.
  • isSupersetOf:Setのすべての値には、特定のSetが含まれます.
  • isDisjointWith:2つのセットが一致しないことを確認してください.
    let houseAnimals: Set = ["🐶", "🐱"]
    let farmAnimals: Set = ["🐮", "🐔", "🐑", "🐶", "🐱"]
    let cityAnimals: Set = ["🐦", "🐭"]
  • houseAnimals.isSubsetOf(farmAnimals) //true
    farmAnimals.isSupersetOf(houseAnimals) //true
    farmAnimals.isDisjointWith(cityAnimals)//true