Swift - Ensembles
Swift 4 sets sont utilisés pour stocker des valeurs distinctes des mêmes types mais elles n'ont pas de classement défini comme les tableaux.
Vous pouvez utiliser des ensembles au lieu de tableaux si l'ordre des éléments ne pose pas de problème ou si vous souhaitez vous assurer qu'il n'y a pas de valeurs en double. (les ensembles n'autorisent que des valeurs distinctes.)
Un type doit être hachable pour être stocké dans un ensemble. Une valeur de hachage est une valeur Int égale pour des objets égaux. Par exemple, si x == y, alorsx.hashvalue == y.hashvalue.
Toutes les valeurs swift de base sont de type hachables par défaut et peuvent être utilisées comme valeurs définies.
Créer des ensembles
Vous pouvez créer un ensemble vide d'un certain type en utilisant la syntaxe d'initialisation suivante -
var someSet = Set<Character>() //Character can be replaced by data type of set.
Accès et modification des sets
Vous pouvez accéder ou modifier un ensemble en utilisant ses méthodes et propriétés -
La méthode "count" peut être utilisée pour afficher le nombre d'éléments dans l'ensemble.
someSet.count // prints the number of elements
La méthode "insert" peut être utilisée pour insérer des valeurs dans l'ensemble.
someSet.insert("c") // adds the element to Set.
De même, isEmpty peut être utilisé pour vérifier si set est vide.
someSet.isEmpty // returns true or false depending on the set Elements.
La méthode "remove" peut être utilisée pour supprimer une valeur dans l'ensemble.
someSet.remove("c") // removes a element , removeAll() can be used to remove all elements
La méthode "contient" peut être utilisée pour vérifier l'existence d'une valeur dans un ensemble.
someSet.contains("c") // to check if set contains this value.
Itérer sur un ensemble
Vous pouvez parcourir un ensemble en utilisant la boucle 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)
}
Exécution des opérations de set
Vous pouvez effectuer des opérations de set de base sur des sets Swift.
Voici les méthodes pour effectuer les opérations de réglage -
- 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]