Programación de dardos - Conjunto de colección

Conjunto representa una colección de objetos en los que cada objeto puede aparecer solo una vez. La biblioteca dart: core proporciona la clase Set para implementar lo mismo.

Sintaxis

Identifier = new Set()

OR

Identifier = new Set.from(Iterable)

Dónde, Iterable representa una lista de valores para agregar a un conjunto.

Ejemplo

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); 
   } 
}

Debería producir lo siguiente output -

100 
20 
5 
60 
70

Ilustración: Set.from ()

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); 
   } 
}

Debería producir lo siguiente output -

12 
13 
14

Advanced Dart Collection ─ dart: biblioteca de colecciones

La biblioteca de dart: collection proporciona clases que permiten varias implementaciones de las colecciones de Dart. Discutiremos los siguientes temas en esta sección.

  • HashMap
  • HashSet
  • LinkedList
  • Queue

HashMap

Un HashMap es una implementación de Map basada en una tabla hash. Cuando recorre las claves o valores de un HashMap, no puede esperar un orden determinado. La sintaxis de la misma es la que se indica a continuación:

Sintaxis

Identifier= new HashMap()

Ejemplo

El siguiente ejemplo muestra cómo puede implementar 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}'); 
}

Debería producir lo siguiente output -

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

Adición de varios valores a un HashMap

La clase HashMap hereda la addAll()función de la clase Map. Esta función permite agregar varios valores a la vez.

Sintaxis

HashMap.addAll(Iterable)

Dónde, Iterable representa una lista de valores que se insertarán.

Ejemplo

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

Debería producir lo siguiente output -

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

Eliminar valores de un HashMap

los remove() y el clear()Las funciones se utilizan para eliminar entradas del HashMap. losremove()A la función se le pasa una clave que representa la entrada a eliminar. losclear() La función se utiliza para eliminar todas las entradas del mapa.

Ejemplo

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}'); 
}

Debería producir lo siguiente 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 es una implementación de Set basada en una tabla hash desordenada. La sintaxis de la misma es:

Sintaxis

Identifier = new HashSet()

los add() La función se puede utilizar para completar una instancia de HashSet.

Ejemplo

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); 
   }
}

Debería producir lo siguiente output -

60 
20 
100 
5 
70

Agregar varios valores a un HashSet

los addAll()La función permite agregar múltiples valores al HashSet. El siguiente ejemplo ilustra lo mismo:

Ejemplo

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); 
   } 
}

Debería producir lo siguiente output -

Default implementation :_HashSet 
200 
300 
100

Eliminar valores de un HashSet

los remove()La función elimina el valor que se le pasa. losclear() La función elimina todas las entradas del HashSet.

Ejemplo

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}"); 
}

Debería producir lo siguiente output -

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