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 d'éléments uniques. Le 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 la forme littérale car ["a", "b"] seul serait inféré comme un Array.

Trois opérations de base : contains, insert et remove. Les deux dernières renvoient des informations pour savoir si le changement était significatif.

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

Créer 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 (avec éventuellement des doublons).

Affichez trois lignes :

  1. Le nombre de mots uniques (utilisez Set)
  2. Les mots uniques triés par ordre alphabétique, joints avec ,
  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, trié et joint, 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