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]