Comment créer des ensembles dans Dart
Comment créer des ensembles dans Dart
-
Objectif
- Comprendre comment créer un ensemble en Dart (Dart sets).
-
Présentation ensemble Dart
- En Dart, un ensemble (Set) est une collection d’éléments uniques, ce qui signifie que chaque élément dans un ensemble ne peut apparaître qu’une seule fois. Voici un cours complet sur la création et la manipulation d’ensembles en Dart :
- Un ensemble est une collection d’articles non ordonnée. Chaque élément de l’ensemble est unique (pas de doublons) et doit être immuable (ne peut pas être modifié).
- Un ensemble est l’un des quatre types de collection proposés par Dart.
- Un ensemble est une collection non ordonnée d’objets, contrairement aux séquences comme les listes et les tuples dans lesquels chaque élément est indexé. Un ensemble ne peut pas contenir de doublon : on ne peut y trouver des éléments que zéro ou une fois.
- Un ensemble est une collection non ordonnée d’éléments. Chaque élément est unique (pas de doublons) et doit être immuable (ce qui ne peut pas être changé).Cependant, l’ensemble lui-même est mutable. Nous pouvons ajouter ou supprimer des éléments.
-
Déclaration et création d’un ensemble dans Dart
- En Dart, vous pouvez déclarer et créer un ensemble de plusieurs manières. Voici comment faire :
-
Utilisation de la notation littérale en Dart
- Vous pouvez créer un ensemble en utilisant une notation littérale, en entourant les éléments par des accolades
{}
. - Par défaut, les ensembles sont considérés comme des ensembles dynamiques (
Set
) qui n’ont pas de type spécifique. Cependant, vous pouvez spécifier un type si nécessaire. -
Création à partir d’une liste existante
- Vous pouvez créer un ensemble à partir d’une liste existante en utilisant le constructeur
Set.from()
. -
Création d’un ensemble vide en Dart
- Pour créer un ensemble vide, utilisez le constructeur
Set()
. -
Création à partir d’une liste en utilisant la méthode
toSet()
: - Vous pouvez également convertir une liste en ensemble en utilisant la méthode
toSet()
. - Une fois que vous avez créé un ensemble, vous pouvez ajouter, supprimer, vérifier la présence d’éléments, itérer à travers les éléments et effectuer des opérations ensemblistes selon vos besoins.
-
Ajout d’un élément dans un ensemble Dart
- Pour ajouter un élément dans l’ensemble, nous utilisons la fonction
.add()
ou la fonction.addAll()
. - En Dart, pour ajouter un élément ou plusieurs éléments dans un ensemble, vous pouvez utiliser les méthodes
add()
etaddAll()
. Voici comment fonctionnent ces deux méthodes avec des exemples : -
add()
- La méthode
add()
permet d’ajouter un seul élément à un ensemble. Si l’élément est déjà présent dans l’ensemble, il ne sera pas ajouté à nouveau, car les ensembles n’acceptent que des éléments uniques. -
addAll()
- La méthode
addAll()
permet d’ajouter plusieurs éléments en une seule opération. Vous pouvez lui passer une liste ou un autre ensemble contenant les éléments que vous souhaitez ajouter à l’ensemble existant. - La méthode
addAll()
vous permet d’ajouter plusieurs éléments à la fois sans avoir à appeler add() individuellement pour chaque élément. - En résumé, la méthode
add()
ajoute un seul élément à un ensemble, tandis que la méthode addAll() ajoute plusieurs éléments en une seule opération. Les éléments en double sont ignorés dans les deux cas, car les ensembles ne peuvent contenir que des éléments uniques.
Contrairement aux listes, les éléments des ensembles se trouvent dans des accolades
{ }
.
Elles ont les même propriétés et les mêmes méthodes que les listes
Set<int> monEnsemble = {1, 2, 3, 4, 5};
Set<String> couleurs = {'rouge', 'vert', 'bleu'};
List<int> maListe = [1, 2, 3, 4, 5];
Set<int> monEnsemble = Set<int>.from(maListe);
Set<int> ensembleVide = Set<int>();
List<String> maListe = ['apple', 'banana', 'cherry'];
Set<String> monEnsemble = maListe.toSet();
Set<String> ensembleDeNoms = Set<String>();
ensembleDeNoms.add('Alice');
ensembleDeNoms.add('Bob');
ensembleDeNoms.add('Charlie');
ensembleDeNoms.add('David');
// Tentative d'ajout d'un élément en double
ensembleDeNoms.add('Alice'); // Ignoré, car 'Alice' est déjà dans l'ensemble
print(ensembleDeNoms); // Affiche : {'Alice', 'Bob', 'Charlie', 'David'}
Set<String> ensembleDeNoms = Set<String>();
ensembleDeNoms.addAll(['Alice', 'Bob', 'Charlie']);
ensembleDeNoms.addAll(['David', 'Eve']);
// Tentative d'ajout d'éléments en double
ensembleDeNoms.addAll(['Alice', 'Eve']); // Ignorés, car 'Alice' et 'Eve' sont déjà dans l'ensemble
print(ensembleDeNoms); // Affiche : {'Alice', 'Bob', 'Charlie', 'David', 'Eve'}
Accéder à l’élément d’un l’ensemble Dart
- En Dart, pour accéder à un élément spécifique d’un ensemble (Set), vous pouvez utiliser les méthodes
elementAt()
,for-in
, etforEach
. Voici comment chacune de ces méthodes fonctionne pour accéder aux éléments d’un ensemble : -
Boucle
for-in
- Vous pouvez utiliser une boucle
for-in
pour parcourir tous les éléments d’un ensemble et les inspecter à la recherche de l’élément souhaité. Vous pouvez mettre en place une condition pour identifier l’élément recherché. -
Méthode
forEach
- La méthode
forEach
permet de parcourir tous les éléments d’un ensemble en spécifiant une fonction callback qui sera exécutée pour chaque élément. Vous pouvez vérifier chaque élément dans la fonction callback pour trouver l’élément recherché. -
Méthode
elementAt()
- Dart fournit la méthode
elementAt()
, qui est utilisée pour accéder à l’élément en transmettant sa position d’index spécifiée. - La méthode
elementAt()
permet d’accéder à un élément d’un ensemble en fonction de son indice. Cependant, il est important de noter que les ensembles ne sont pas indexés par défaut, ce qui signifie qu’ils n’ont pas d’ordre particulier. - Pour utiliser elementAt(), vous devez d’abord convertir l’ensemble en une liste, puis accéder à l’élément par indice.
Set<String> couleurs = {'rouge', 'vert', 'bleu'};
for (String couleur in couleurs) {
if (couleur == 'bleu') {
print("La couleur bleue a été trouvée dans l'ensemble.");
}
}
Set<String> couleurs = {'rouge', 'vert', 'bleu'};
couleurs.forEach((couleur) {
if (couleur == 'rouge') {
print("La couleur rouge a été trouvée dans l'ensemble.");
}
});
Set couleurs = {'rouge', 'vert', 'bleu'};
List listeDeCouleurs = couleurs.toList();
String couleur = listeDeCouleurs.elementAt(1); // Accès au deuxième élément (indice 1)
print(couleur); // Affiche : 'vert'