Swift-sets
提供:Dev Guides
スイフト-セット
Swift 4 sets は同じ型の異なる値を格納するために使用されますが、配列のように明確な順序はありません。
要素の順序が問題にならない場合、または重複する値がないことを確認したい場合は、配列の代わりにセットを使用できます。 (セットでは個別の値のみが許可されます。)
タイプは、セットに格納するためにハッシュ可能でなければなりません。 ハッシュ値は、等しいオブジェクトに対して等しいInt値です。 たとえば、x == yの場合、 x.hashvalue == y.hashvalue です。
基本的なすべての迅速な値は、デフォルトでハッシュ可能なタイプであり、設定値として使用できます。
セットを作成する
次の初期化構文を使用して、特定のタイプの空のセットを作成できます-
var someSet = Set<Character>() //Character can be replaced by data type of set.
セットへのアクセスと変更
あなたはそのメソッドとプロパティを使用してセットにアクセスまたは変更することができます-
「count」メソッドを使用して、セット内の要素の数を表示できます。
someSet.count //prints the number of elements
「挿入」メソッドを使用して、値をセットに挿入できます。
someSet.insert("c") //adds the element to Set.
同様に、isEmptyを使用して、setが空かどうかを確認できます。
someSet.isEmpty //returns true or false depending on the set Elements.
「remove」メソッドを使用して、セット内の値を削除できます。
someSet.remove("c") //removes a element , removeAll() can be used to remove all elements
「含む」メソッドを使用して、セット内の値の存在を確認できます。
someSet.contains("c") //to check if set contains this value.
セットの繰り返し
あなたはfor-inループを使用してセットを反復処理できます-
for items in someSet {
print(someSet)
}
//Swift sets are not in an ordered way, to iterate over a set in ordered way use
for items in someSet.sorted() {
print(someSet)
}
集合演算の実行
迅速なセットに対して基本的なセット操作を実行できます。
以下は、集合演算を実行するための方法です-
- 交差点
- 連合
- 引き算
let evens: Set = [10,12,14,16,18]
let odds: Set = [5,7,9,11,13]
let primes = [2,3,5,7]
odds.union(evens).sorted()
//[5,7,9,10,11,12,13,14,16,18]
odds.intersection(evens).sorted()
//[]
odds.subtracting(primes).sorted()
//[9, 11, 13]