Création d'ensembles
Fait partie de la section Logique et Flux du Journey Swift de Coddy — leçon 18 sur 56.
Un Set est une collection non ordonnée de valeurs uniques. Même type d'élément pour chaque membre, aucun doublon autorisé, pas d'ordre d'itération prévisible.
var colors: Set<String> = ["red", "green", "blue", "red"]
print(colors.count) // 3 (le doublon "red" est supprimé)L'annotation de type Set<String> est obligatoire dans la forme littérale car ["a", "b"] en soi serait inféré comme un Array.
Trois opérations fondamentales : contains, insert et remove. Les deux dernières renvoient des informations indiquant si le changement a été significatif.
colors.insert("yellow") // l'ajoute
colors.insert("red") // déjà présent, aucun effet
colors.contains("green") // true
colors.remove("blue") // renvoie "blue" ou nil s'il est manquantCréer un ensemble à partir d'un tableau supprime les doublons en une seule étape :
let unique = Set([1, 2, 2, 3, 3, 3])
// 3 éléments, l'ordre exact n'est pas garantiDéfi
DébutantLisez une seule ligne d'entrée : une liste de mots séparés par des virgules (éventuellement avec des doublons).
Affichez trois lignes :
- Le nombre de mots uniques (utilisez
Set) - Les mots uniques triés par ordre alphabétique, joints par
, truelorsque l'entrée contient le motswift, sinonfalse(utilisezcontains)
Pour l'entrée swift,ruby,go,swift,go,rust, la sortie est :
4
go,ruby,rust,swift
trueAide-mémoire
Set – collection non ordonnée de valeurs uniques. Une annotation de type est requise lors de l'utilisation de la syntaxe de littéral de tableau :
var colors: Set<String> = ["red", "green", "blue", "red"]
print(colors.count) // 3 (doublon supprimé)Opérations de base :
colors.insert("yellow") // ajoute un élément
colors.contains("green") // true
colors.remove("blue") // renvoie "blue" ou nil s'il est manquantCréer un ensemble à partir d'un tableau pour supprimer les doublons :
let unique = Set([1, 2, 2, 3, 3, 3]) // 3 élémentsEssayez vous-même
let words = readLine()!.components(separatedBy: ",")
// TODO: dédoublonner via Set, afficher le nombre, trier et joindre, contient "swift"
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique et Flux
1Les chaînes de caractères en profondeur
Comptage et indicesCasse et nettoyageRecherche dans les chaînesDécoupage et jointureRemplacement de sous-chaînesRécapitulatif - Vérification du nom d'utilisateur4Ensembles
Création d'ensemblesUnion et intersectionSoustraction et différence symétriqueSous-ensemble et sur-ensembleRécapitulatif - Filtre de tags7Projet - Suivi d'habitudes
Aperçu du projetMarquer comme terminé10Projet - Moteur de quiz
Présentation du projetPoser des questions2Intervalles et Pas
Fermé vs Semi-ouvertLe PasMéthodes d'intervalleIntervalles dans un SwitchRécapitulatif - Grille de calendrier5Fonctions d'ordre supérieur, Partie 1
MapFilterReduceChaînage de map, filter, reduceRécapitulatif - Statistiques de mots