No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
10 Hrs
56 Min
53 Seg

Colección de tipo Sets

18/23
Recursos

Aportes 21

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

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

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 .

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 un Map<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.

void main() {
Set<String> paises = {};
paises = {"Argentina", "Brasil", "Colombia"};

if(paises.contains("Colombia")){
print("Si esta Colombia dentro del Set");
}else{
print("No esta Colombia dentro del Set");
}
}