Swift - Set

Swift 4 sets sono usati per memorizzare valori distinti dello stesso tipo ma non hanno un ordinamento definito come gli array.

È possibile utilizzare set invece di array se l'ordinamento degli elementi non è un problema o se si desidera assicurarsi che non vi siano valori duplicati. (gli insiemi consentono solo valori distinti.)

Un tipo deve essere modificabile per essere memorizzato in un set. Un valore hash è un valore Int uguale per oggetti uguali. Ad esempio, se x == y, allorax.hashvalue == y.hashvalue.

Tutti i valori swift di base sono di tipo hashable per impostazione predefinita e possono essere utilizzati come valori impostati.

Creazione di set

È possibile creare un set vuoto di un certo tipo utilizzando la seguente sintassi dell'inizializzatore:

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

Accesso e modifica dei set

È possibile accedere o modificare un set utilizzando i suoi metodi e proprietà -

Il metodo "count" può essere utilizzato per mostrare il numero di elementi nel set.

someSet.count        // prints the number of elements

Il metodo "insert" può essere utilizzato per inserire valori nel set.

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

Allo stesso modo, isEmpty può essere utilizzato per verificare se set è vuoto.

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

Il metodo "remove" può essere utilizzato per rimuovere il valore nel set.

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

Il metodo "contiene" può essere utilizzato per verificare l'esistenza di un valore in un insieme.

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

Iterazione su un set

Puoi iterare su un set usando il ciclo 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)
}

Esecuzione di operazioni sugli insiemi

È possibile eseguire operazioni di base sui set su Swift Set.

Di seguito sono riportati i metodi per eseguire le operazioni di impostazione:

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