Programmation de fléchettes - Ensemble de collection

Set représente une collection d'objets dans laquelle chaque objet ne peut apparaître qu'une seule fois. La bibliothèque dart: core fournit la classe Set pour l'implémenter.

Syntaxe

Identifier = new Set()

OR

Identifier = new Set.from(Iterable)

Où, Iterable représente une liste de valeurs à ajouter à un ensemble.

Exemple

void main() { 
   Set numberSet = new  Set(); 
   numberSet.add(100); 
   numberSet.add(20); 
   numberSet.add(5); 
   numberSet.add(60); 
   numberSet.add(70);
   print("Default implementation :${numberSet.runtimeType}");  
   
   // all elements are retrieved in the order in which they are inserted 
   for(var no in numberSet) { 
      print(no); 
   } 
}

Il devrait produire les éléments suivants output -

100 
20 
5 
60 
70

Illustration: Set. De ()

void main() { 
   Set numberSet = new Set.from([12,13,14]); 
   print("Default implementation :${numberSet.runtimeType}");  
   // all elements are retrieved in the order in which they are inserted 
   for(var no in numberSet) { 
      print(no); 
   } 
}

Il devrait produire les éléments suivants output -

12 
13 
14

Advanced Dart Collection ─ Dart: Bibliothèque de la collection

La bibliothèque dart: collection fournit des classes qui permettent diverses implémentations de collections Dart. Nous aborderons les sujets suivants dans cette section.

  • HashMap
  • HashSet
  • LinkedList
  • Queue

HashMap

Un HashMap est une implémentation de Map basée sur une table de hachage. Lorsque vous parcourez les clés ou les valeurs d'un HashMap, vous ne pouvez pas vous attendre à un certain ordre. La syntaxe pour la même chose est celle donnée ci-dessous -

Syntaxe

Identifier= new HashMap()

Exemple

L'exemple suivant montre comment vous pouvez implémenter un HashMap -

import 'dart:collection'; 
main() { 
   var accounts = new HashMap(); 
   accounts['dept']='HR'; 
   accounts['name']='Tom'; 
   accounts['email']='[email protected]'; 
   print('Map after adding  entries :${accounts}'); 
}

Il devrait produire les éléments suivants output -

Map after adding entries :{email: [email protected], dept: HR, name: Tom}

Ajout de plusieurs valeurs à un HashMap

La classe HashMap hérite du addAll()fonction de la classe Map. Cette fonction permet d'ajouter plusieurs valeurs à la fois.

Syntaxe

HashMap.addAll(Iterable)

Où, Iterable représente une liste de valeurs à insérer.

Exemple

import 'dart:collection'; 
main() { 
   var accounts = new HashMap(); 
   accounts.addAll({'dept':'HR','email':'[email protected]'}); 
   print('Map after adding  entries :${accounts}'); 
}

Il devrait produire les éléments suivants output -

Map after adding  entries :{email: [email protected], dept: HR}

Suppression de valeurs d'un HashMap

le remove() et le clear()Les fonctions sont utilisées pour supprimer des entrées du HashMap. leremove()fonction reçoit une clé qui représente l'entrée à supprimer. leclear() La fonction est utilisée pour supprimer toutes les entrées de la carte.

Exemple

import 'dart:collection'; 
main() { 
   var accounts = new HashMap(); 
   accounts['dept'] = 'HR'; 
   accounts['name'] = 'Tom'; 
   accounts['email'] = '[email protected]'; 
   print('Map after adding  entries :${accounts}');
   accounts.remove('dept'); 
   print('Map after removing  entry :${accounts}');  
   accounts.clear(); 
   print('Map after clearing entries :${accounts}'); 
}

Il devrait produire les éléments suivants output -

Map after adding  entries :{email: [email protected], dept: HR, name: Tom} 
Map after removing  entry :{email: [email protected], name: Tom} 
Map after clearing entries :{}

HashSet

Un HashSet est une implémentation de Set basée sur une table de hachage non ordonnée. La syntaxe pour le même est -

Syntaxe

Identifier = new HashSet()

le add() La fonction peut être utilisée pour remplir une instance HashSet.

Exemple

import 'dart:collection'; 
void main() { 
   Set numberSet = new  HashSet(); 
   numberSet.add(100); 
   numberSet.add(20); 
   numberSet.add(5); 
   numberSet.add(60); 
   numberSet.add(70); 
   print("Default implementation :${numberSet.runtimeType}"); 
   for(var no in numberSet){ 
      print(no); 
   }
}

Il devrait produire les éléments suivants output -

60 
20 
100 
5 
70

Ajout de plusieurs valeurs à un HashSet

le addAll()La fonction permet d'ajouter plusieurs valeurs au HashSet. L'exemple suivant illustre la même chose -

Exemple

import 'dart:collection'; 
void main() { 
   Set numberSet = new  HashSet(); 
   numberSet.addAll([100,200,300]); 
   print("Default implementation :${numberSet.runtimeType}"); 
   for(var no in numberSet){ 
      print(no); 
   } 
}

Il devrait produire les éléments suivants output -

Default implementation :_HashSet 
200 
300 
100

Suppression de valeurs d'un HashSet

le remove()La fonction supprime la valeur qui lui est transmise. leclear() La fonction supprime toutes les entrées du HashSet.

Exemple

import 'dart:collection'; 
void main() { 
   Set numberSet = new  HashSet(); 
   numberSet.addAll([100,200,300]); 
   print("Printing hashet.. ${numberSet}");  
   numberSet.remove(100); 
   print("Printing hashet.. ${numberSet}");  
   numberSet.clear(); 
   print("Printing hashet.. ${numberSet}"); 
}

Il devrait produire les éléments suivants output -

Printing hashet.. {200, 300, 100} 
Printing hashet.. {200, 300} 
Printing hashet.. {}