Colección de tipo Sets
Clase 18 de 23 • Curso de Dart desde Cero
Contenido del curso
Clase 18 de 23 • Curso de Dart desde Cero
Contenido del curso
Christian Camilo Guzmán Escobar
Melvin Salas
Stiven Gordillo Ruiz
Beyra Lapierre Tumalan
Joseph Michael Ciriaco Bermudez
Enrique Reyes
JOSE DAVID PUELLO AVILEZ
Shanexon Ortiz
Kebyn Enrique Ajin Elías
Cristian David Acevedo Escobar
David Fernando Sandoval Gomez
Gabriel José Solari Morales
Daulis Gonzalez
Pariksit Erikrsnan Ortiz Flores
Darwin Rodríguez
JOSE DAVID PUELLO AVILEZ
Emmanuel Rodríguez
Diego Frank Lipa Choque
Andres Mejia
Jonathan Rocha
Mario Luis Centeno Vargas
Mario Luis Centeno Vargas
Joseph Michael Ciriaco Bermudez
La función contains permite saber si un elemento se encuentra dentro de un set. Les dejo el código de ejemplo:
void main() { // Colección de tipo set Set<String> paises = {}; // En las colecciones de tipo set no se pueden agregar valores repetidos paises = {"Argentina", "Brasil", "Colombia"}; // Verificar si un elemento pertenece a una colleción tipo set print(paises.contains("Colombia")); }
Excelente 👏🏻
Gracias por el dato :)
Diferencias entre colecciones tipo List y Set
Los elementos de una colección de tipo Set no se pueden repetir y en la de tipo List sí.
En la declaración se utilizan corchetes [ ] para List y llaves { } para Set .
En Set no existe la función insert para agregar un elemento en una posición específica.
En colecciones Set, para ver un elemento en una posición específica no se utilizan corchetes, se hace uso de la función elementAt .
Buen resumen. Gracias.
Les comparto mi código de esta clase:
void main () { Set <String> paises = {}; paises = {'El salvador', 'España'}; print(paises); //Imprime toda la lista paises.add('Mexico'); //Añade un nuevo elemento for(int i = 0; i < paises.length; i++) { print(paises.elementAt(i)); //Imprime el elemento en la posición i } //Verifica si el país buscado está en la lista. paises.contains('Colombia') ? print('El pais se encuentra') : print('El pais no se encuentra'); }
My Code with conditionals and contains:
La función .contains("elementoABuscar") nos sirve para revisar si un elemento esta en una colección de tipo Set. El resultado será "true" si elemento si esta o "false" si no esta el elemento en la colección.
Utilizamos la función contains para validar si un elemento se encuentra dentro del Set.
Otra forma de recorrer las colecciones sería usando forEach en lugar de for, y para obtener la posición sería convirtiendo la lista en map así:
countries.asMap().forEach((index, e) => print('$index: $e'));
Pero si es una colección tipo Set, primero tocaría convertir el set a List, y luego a Map, así:
countries.toList().asMap().forEach((index, e) => print('$index: $e'));
Podría ser usado para crear el carrito de compras...
En la teoría, en el subtítulo de Creación de un Set esta con la palabra List pero en realidad se utiliza Set, mucho cuidado con esto.
He aqui el codigo de mi ejercicio y use .contains("Country") para saber si el valor X existia.
void main() { Set<String> paises = {"Colombia", "Peru", "Mexico"}; print(paises); for(int i = 0; i < paises.length; i++){ print(paises.elementAt(i)); } if(paises.contains("Colombia")){ print("El SET contiene Colombia como pais"); } }
La función para evaluar si un elemento se encuentra en un Set es constains
My code with Set in Dart
Conjuntos (Set)
ℹ️ Definición Un conjunto es una colección no ordenada de elementos únicos.
.
En definición e inicialización, un conjunto puede inferir los datos mediante introspección en tiempo de compilación.
.
Los conjuntos indexan desde el índice zero y obtenidos mediante la función elementAt(index).
.
var fang = {'facebook', 'amazon', 'netflix', 'google'}; var names = <String>{};
✨ Concepto clave En sintaxis, un mapa (
map) es similar a un conjunto (set), al momento de inicializar si se omite el tipo, Dart crearía un mapa dinámico.var names = {};crea unMap<dynamic, dynamic>.
.
Manipulación de conjuntos
Como todas colecciones, los conjuntos son abstraídos de clases que son empleados por sus instancias.
.
Para crear un conjunto, individualmente puede anexar un elemento con el método add() o agregar un conjunto de elementos addAll() ; de la misma forma remover individualmente un elemento con el método remove() o remover un conjunto de elementos removeAll().
.
Para validar la existencia de algún elemento dentro de un conjunto, individualmente podemos ocupar el método contains() o un conjunto de elementos containsAll().
.
En la existencia de dos conjuntos, podemos inspeccionar y generar un nuevo conjunto mediante la intersección de ellos mediante el método intersection().
var fang = Set<String>();// Set<String> fang fang.addAll(['facebook', 'amazon', 'netflix', 'google']); var gafam = Set.from(['google', 'amazon', 'facebook', 'apple', 'microsoft']); // Set<dynamic> gafam var intersection_String = fang.intersection(gafam); // Set<String> intersection_String print(intersection_String);// amazon, facebook, google var intersection_Dynamic = gafam.intersection(fang); // Set<dynamic> intersection_Dynamic
void main() { //SET Set<String> paises = {"Argentina", "Brazil", "Colombia"}; for (String amigo in paises) { // iterando set print(amigo); } print(paises.isEmpty); //valida si es vacio print(paises.length); //cuanta el set paises.add('Peru'); //agrega un nuevo set print(paises); for (int i = 0; i < paises.length; i++) { //itereando set con for print("paises[$i]: ${paises.elementAt(i)}"); } print(paises.contains('Peru')); //valida si una dato esiste en el set }
tambien vi por primera vez para q si sirve un for en un ejemplo practico
A continuación les comparto mi código de la Clase:
void main() { // Set de países Set<String> mascotas = {"Max", "Guffer", "Firulais"}; print(mascotas); mascotas.add("Capitán"); print(mascotas); for (int i = 0; i < mascotas.length; i++); { print(mascotas.elementAt(i)); } }
void main() { // Colección de tipo set
}
Eliminando un valor según su posición
void main() { // Colección de tipo set Set<String> paises = {}; int i = 0, valor = 0,valor1=0; paises = {"Argentina", "Brasil", "Perú"}; for (i; i < paises.length; i++) { print("Pais [$i]: ${paises.elementAt(i)}"); if (paises.elementAt(i) == "Perú") { valor = i; } if (paises.elementAt(i) == "Brasil") { valor1 = i; } } if (paises.contains("Perú")) { print("\nSi esta Perú dentro del Set en la posición $valor"); } else { print("\nNo esta Perú dentro del Set"); } //Eliminando el valor de Brasil if(paises.remove(paises.elementAt(valor1))){ print("Se eliminó la posición $valor1"); print("El nuevo pais en la posición $valor1 es ${paises.elementAt(1)}"); } }
Genial! Este tipo de colección lo vi cuando hice una app de inventario para una bodega, ahora entiendo un poco más su función. Gracias.