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