Dardo – Juegos

Los conjuntos en Dart son un caso especial en List donde todas las entradas son únicas, es decir, no contienen ninguna entrada repetida. También se puede interpretar como una array desordenada con entradas únicas. El conjunto entra en juego cuando queremos almacenar valores únicos en una sola variable sin considerar el orden de las entradas. Los conjuntos se declaran mediante el uso de una palabra clave conjunto .

Hay dos formas de hacerlo: 

var variable_name = <variable_type>{};
 
or,
 
Set <variable_type> variable_name = {};

Ejemplo 1: Declarar set de dos maneras diferentes.

Dart

// Dart program to show the Sets concept
void main()
{
  // Declaring set in First Way
  var gfg1 = <String>{'GeeksForGeeks'};
   
  // Printing First Set
  print("Output of first set: $gfg1");
   
  // Declaring set in Second Way
  Set<String> gfg2 = {'GeeksForGeeks'}; 
   
  // Printing Second Set
  print("Output of second set: $gfg2");
}

Producción: 

Output of first set: {GeeksForGeeks}
Output of second set: {GeeksForGeeks}

Ejemplo 2: Declarar valor repetido en un conjunto y una lista y luego compararlo. 

Dart

// Dart Program to declare repeated value
// in a set and a list and then
// comparing it
 
void main()
{
  // Declaring list with repeated value
  var gfg = ['Geeks','For','Geeks'];
   
  // Printing List
  print("Output of the list is: $gfg");
   
  // Declaring set with repeated value
  var gfg1 = <String>{'Geeks','For','Geeks'}; 
   
  // Printing Set
  print("Output of the set is: $gfg1");
}

Producción: 

Output of the list is: [Geeks, For, Geeks]
Output of the set is: {Geeks, For}

Nota: Puede ver que el valor repetido simplemente se ignoró en el caso del conjunto.
 

Adición de elementos en el conjunto:  para agregar un elemento en el conjunto, utilizamos la función «.add()» o la función «.addAll()» . Pero debe tener en cuenta que si intenta agregar un valor duplicado usando estas funciones, también se ignorarán en un conjunto.

// To add single value
variable_name.add(value);

// To add multiple value
variable_name.addAll(value1, value2, value3, ...valueN)the 

Algunas otras funciones que involucran conjuntos son las siguientes: 

S. No. Sintaxis Descripción
1. nombre_variable.elementAt(índice); Devuelve el elemento en el índice correspondiente. El tipo de salida depende del tipo de conjunto definido.
2. nombre_variable.longitud; Devuelve la longitud del conjunto. La salida es de tipo entero.
3. nombre_variable.contains(nombre_elemento); Devuelve un valor booleano verdadero si el nombre_elemento está presente en el conjunto; de lo contrario, devuelve falso.
4. nombre_variable.remove(nombre_elemento); Elimina el elemento cuyo nombre está presente en su interior.
5. nombre_variable.forEach(…); Ejecuta el comando definido dentro de la función forEach() para todos los elementos dentro del conjunto.
6. nombre_variable.clear(); Elimina todo el elemento dentro del conjunto.

Ejemplo: 

Dart

void main()
{
  // Declaring set with value
  var gfg = <String>{'Hello Geek'};
   
  // Printing Set
  print("Value in the set is: $gfg");
   
  // Adding an element in the set
  gfg.add("GeeksForGeeks");
   
  // Printing Set
  print("Values in the set is: $gfg");
   
  // Adding multiple values to the set
  var geeks_name = {"Geek1","Geek2","Geek3"};
  gfg.addAll(geeks_name);
   
  // Printing Set
  print("Values in the set is: $gfg");
   
  // Getting element at Index 0
  var geek = gfg.elementAt(0);
   
  // Printing the element
  print("Element at index 0 is: $geek");
   
  // Counting the length of the set
  int l = gfg.length;
   
  // Printing length
  print("Length of the set is: $l");
   
  // Finding the element in the set
  bool check = gfg.contains("GeeksForGeeks");
   
  // Printing boolean value
  print("The value of check is: $check");
   
  // Removing an element from the set
  gfg.remove("Hello Geek");
   
  // Printing Set
  print("Values in the set is: $gfg");
   
  // Using forEach in set
  print(" ");
  print("Using forEach in set:");
  gfg.forEach((element) {
    if(element == "Geek1")
    {
      print("Found");
    }
    else
    {
      print("Not Found");
    }
  });
   
  // Deleting elements from set
  gfg.clear();
   
  // Printing set
  print("Values in the set is: $gfg");
}

Producción: 

Value in the set is: {Hello Geek}
Values in the set is: {Hello Geek, GeeksForGeeks}
Values in the set is: {Hello Geek, GeeksForGeeks, Geek1, Geek2, Geek3}
Element at index 0 is: Hello Geek
Length of the set is: 5
The value of check is: true
Values in the set is: {GeeksForGeeks, Geek1, Geek2, Geek3}
 
Using forEach in set:
Not Found
Found
Not Found
Not Found
Values in the set is: {}

Conversión de conjunto a lista en Dart:  Dart también nos proporciona el método para convertir el conjunto en la lista. Para hacerlo, usamos el método toList() en Dart.

List<type> list_variable_name = set_variable_name.toList();

Nota: Es útil en la forma en que la lista que obtendremos contendrá valores únicos y no valores repetidos.
 
Ejemplo: 

Dart

// Converting Set to List in Dart
void main()
{
  // Declaring set with value
  var gfg = <String>{'Hello Geek',"GeeksForGeeks","Geek1","Geek2","Geek3"}; 
   
  // Printing values in set
  print("Values in set are:");
  print(gfg);
   
  print("");
   
  // Converting Set to List
  List<String> gfg_list = gfg.toList();
   
  // Printing values of list
  print("Values in the list are:");
  print(gfg_list);
}

Producción: 

Values in set are:
{Hello Geek, GeeksForGeeks, Geek1, Geek2, Geek3}

Values in the list are:
[Hello Geek, GeeksForGeeks, Geek1, Geek2, Geek3]

Convertir conjunto en mapa en Dart:  Dart también nos proporciona el método para convertir el conjunto en el mapa. 
 

Ejemplo: 

Dart

// Converting Set to Map in Dart
void main()
{
  // Declaring set 1 with value
  var gfg = <String>{"GeeksForGeeks","Geek1","Geek2","Geek3"};
   
  var geeksforgeeks = gfg.map((value) {
    return 'mapped $value';
  });
  print("Values in the map:");
  print(geeksforgeeks);
     
}

Producción:  

Values in the map:
(mapped GeeksForGeeks, mapped Geek1, mapped Geek2, mapped Geek3)

Establecer operaciones en Dart:  Hay tres operaciones en el escenario en Dart: 

Ejemplo:  

Dart

// Set Operations in Dart
 
void main()
{
  // Declaring set 1 with value
  var gfg1 = <String>{"GeeksForGeeks","Geek1","Geek2","Geek3"};
   
  // Printing values in set
  print("Values in set 1 are:");
  print(gfg1);
   
  print("");
   
  // Declaring set 2 with value
  var gfg2 = <String>{"GeeksForGeeks","Geek3","Geek4","Geek5"};
   
  // Printing values in set
  print("Values in set 2 are:");
  print(gfg2);
   
  print("");
   
   
  // Finding Union
  print("Union of two sets is ${gfg1.union(gfg2)} \n");
   
  // Finding Intersection
  print("Intersection of two sets is ${gfg1.intersection(gfg2)} \n");
   
  // Finding Difference
  print("Difference of two sets is ${gfg2.difference(gfg1)} \n");
     
}

Producción:  

Values in set 1 are:
{GeeksForGeeks, Geek1, Geek2, Geek3}

Values in set 2 are:
{GeeksForGeeks, Geek3, Geek4, Geek5}

Union of two sets is {GeeksForGeeks, Geek1, Geek2, Geek3, Geek4, Geek5} 

Intersection of two sets is {GeeksForGeeks, Geek3} 

Difference of two sets is {Geek4, Geek5} 

En el código anterior, también podemos comparar más de dos conjuntos como: 

Ejemplo: 

Dart

// Comparing more than 2 sets in Dart
 
void main()
{
  // Declaring set 1 with value
  var gfg1 = <String>{"GeeksForGeeks","Geek1","Geek2","Geek3"};
   
  // Declaring set 2 with value
  var gfg2 = <String>{"GeeksForGeeks","Geek3","Geek4","Geek5"};
   
  // Declaring set 3 with value
  var gfg3 = <String>{"GeeksForGeeks","Geek5","Geek6","Geek7"};
   
  // Finding Union
  print("Union of two sets is ${gfg1.union(gfg2).union(gfg3)}\n");
   
  // Finding Intersection
  print("Intersection of two sets is ${gfg1.intersection(gfg2).intersection(gfg3)}\n");
   
  // Finding Difference
  print("Difference of two sets is ${gfg2.difference(gfg1).difference(gfg3)}\n");
}

Producción: 

Union of two sets is {GeeksForGeeks, Geek1, Geek2, Geek3, Geek4, Geek5, Geek6, Geek7} 

Intersection of two sets is {GeeksForGeeks} 

Difference of two sets is {Geek4} 

Publicación traducida automáticamente

Artículo escrito por aditya_taparia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *