No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Adquiere por un a帽o todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

1D
19H
15M
50S

Colecci贸n de tipo Sets

18/23
Recursos

Aportes 20

Preguntas 0

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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(鈥渆lementoABuscar鈥) nos sirve para revisar si un elemento esta en una colecci贸n de tipo Set.
El resultado ser谩 鈥渢rue鈥 si elemento si esta o 鈥渇alse鈥 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'));

He aqui el codigo de mi ejercicio y use .contains(鈥淐ountry鈥) 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.

  • Set

    Es parecido a una lista con la diferencia que no puede tener valores duplicados. Se declaran asi:

    List<int> = {1,2,3}
    List<String> = {}
    

    Propiedades:

    • add: Agrega un elemento siempre al final.
    • remove: elimina el objeto
    • clear: limpia el set
void main() {
  // Set de paises
  Set<String> paises = {};
  
  paises = {"Argentina", "Brasil", "Colombia"};
  
  print(paises); //{Argentina, Brasil, Colombia};
  
  paises.add("Argentina"); // Si ya existe no hace cambios.
  
  print(paises); //{Argentina, Brasil, Colombia};
  
  for(int i = 0; i < paises.length; i++) {
		// Para los conjuntos o sets se utiliza elementAt para 
		// Obtener el elemento de una posicion especifica 
    print(paises.elementAt(i));
  } 
}
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");
}
}