Swift - zestawy

Szybki 4 sets są używane do przechowywania różnych wartości tego samego typu, ale nie mają określonej kolejności, jaką mają tablice.

Możesz używać zestawów zamiast tablic, jeśli kolejność elementów nie stanowi problemu lub jeśli chcesz mieć pewność, że nie ma zduplikowanych wartości. (zestawy dopuszczają tylko różne wartości).

Aby typ był przechowywany w zestawie, musi mieć możliwość mieszania. Wartość skrótu to wartość Int, która jest równa dla równych obiektów. Na przykład, jeśli x == y, tox.hashvalue == y.hashvalue.

Wszystkie podstawowe wartości Swift są domyślnie typu hashable i mogą być używane jako wartości ustawione.

Tworzenie zestawów

Możesz utworzyć pusty zestaw określonego typu, używając następującej składni inicjatora -

var someSet = Set<Character>()     //Character can be replaced by data type of set.

Dostęp i modyfikowanie zestawów

Możesz uzyskać dostęp do zestawu lub zmodyfikować go za pomocą jego metod i właściwości -

Aby pokazać liczbę elementów w zestawie, można użyć metody „count”.

someSet.count        // prints the number of elements

Do wstawienia wartości w zestawie można użyć metody „wstaw”.

someSet.insert("c")   // adds the element to Set.

Podobnie, isEmpty może służyć do sprawdzenia, czy zestaw jest pusty.

someSet.isEmpty       // returns true or false depending on the set Elements.

Do usunięcia wartości w zestawie można użyć metody „usuń”.

someSet.remove("c")     // removes a element , removeAll() can be used to remove all elements

Metoda „zawiera” może służyć do sprawdzenia istnienia wartości w zbiorze.

someSet.contains("c")     // to check if set contains this value.

Iterowanie po zestawie

Możesz iterować po zestawie za pomocą pętli 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)
}

Wykonywanie operacji na zbiorach

Możesz wykonywać podstawowe operacje na zestawach szybkich.

Poniżej przedstawiono metody wykonywania operacji na zbiorach -

  • 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]