Menu
Coddy logo textTech

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é, aucun 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 sous forme littérale, car ["a", "b"] seule serait inférée comme un Array.

Trois opérations fondamentales : contains, insert et remove. Les deux dernières renvoient des informations indiquant si la modification a eu un effet.

colors.insert("yellow")         // l'ajoute
colors.insert("red")            // déjà présent, aucun effet
colors.contains("green")        // vrai
colors.remove("blue")           // retourne "blue" ou nil s'il est manquant

Construire un ensemble à partir d’un tableau élimine les doublons en une seule étape :

let unique = Set([1, 2, 2, 3, 3, 3])
// 3 éléments, l'ordre exact n'est pas garanti
challenge icon

Défi

Débutant

Lisez une seule ligne d’entrée : une liste de mots séparés par des virgules (éventuellement avec des doublons).

Affichez trois lignes :

  1. Le nombre de mots uniques (utilisez Set)
  2. Les mots uniques triés par ordre alphabétique, reliés par ,
  3. true lorsque l’entrée contient le mot swift, sinon false (utilisez contains)

Pour l’entrée swift,ruby,go,swift,go,rust, la sortie est :

4
go,ruby,rust,swift
true

Essayez vous-même

let words = readLine()!.components(separatedBy: ",")

// TODO: dédupliquer via Set, afficher le count, joined trié, contient le texte exact des instructions
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Playground Swift