Swift-セット
スウィフト4 sets 同じタイプの個別の値を格納するために使用されますが、配列のように明確な順序はありません。
要素の順序が問題にならない場合、または重複する値がないことを確認する場合は、配列の代わりにセットを使用できます。(セットは個別の値のみを許可します。)
タイプをセットに格納するには、ハッシュ可能である必要があります。ハッシュ値は、等しいオブジェクトに対して等しいInt値です。たとえば、x == yの場合、x.hashvalue == y.hashvalue。
すべての基本的なswift値はデフォルトでハッシュ可能なタイプであり、設定値として使用できます。
セットの作成
次の初期化構文を使用して、特定のタイプの空のセットを作成できます-
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を使用して、セットが空かどうかを確認できます。
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
「contains」メソッドを使用して、セット内の値の存在を確認できます。
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)
}
セット操作の実行
迅速なセットで基本的なセット操作を実行できます。
セット操作を実行する方法は次のとおりです-
- Intersection
- Union
- subtracting
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]