CursosEmpresasBlogLiveConfPrecios

Colección de tipo Sets

Clase 18 de 23 • Curso de Dart desde Cero

Contenido del curso

Introducción

  • 1
    Bienvenida al curso

    Bienvenida al curso

    01:44 min
  • 2
    Introducción de Dart

    Introducción de Dart

    07:59 min
  • 3
    Introducción a DartPad

    Introducción a DartPad

    12:17 min

Las bases de programación

  • 4
    Variables

    Variables

    04:51 min
  • 5
    Tipos de datos básicos

    Tipos de datos básicos

    15:33 min
  • 6
    Tipos de datos avanzados

    Tipos de datos avanzados

    07:23 min
  • 7
    Manipulación de variables

    Manipulación de variables

    05:54 min
  • 8
    String con Dart

    String con Dart

    13:47 min
  • 9
    Conversión de tipos

    Conversión de tipos

    05:17 min
  • 10
    Ejercicio sobre las bases de programación

    Ejercicio sobre las bases de programación

    00:49 min

Flujo de datos

  • 11
    Operaciones

    Operaciones

    13:36 min
  • 12
    Condicionales

    Condicionales

    08:44 min
  • 13
    Ciclos

    Ciclos

    08:04 min
  • 14
    Enumeraciones

    Enumeraciones

    04:59 min
  • 15
    ¡Construye una calculadora!

    ¡Construye una calculadora!

    01:07 min

Colecciones

  • 16
    Introducción a las colecciones

    Introducción a las colecciones

    01:50 min
  • 17
    Colección de tipo Lista

    Colección de tipo Lista

    09:46 min
  • 18
    Colección de tipo Sets

    Colección de tipo Sets

    Viendo ahora
  • 19
    Colección de tipo Mapa

    Colección de tipo Mapa

    07:52 min
  • 20
    Colección de colecciones

    Colección de colecciones

    08:39 min
  • 21
    Flujos dentro de colecciones

    Flujos dentro de colecciones

    04:44 min
  • 22
    Reto de colecciones

    Reto de colecciones

    00:44 min

Conclusión

  • 23
    Sigue aprendiendo Dart

    Sigue aprendiendo Dart

    00:38 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Comentarios

      Christian Camilo Guzmán Escobar

      Christian Camilo Guzmán Escobar

      student•
      hace 4 años
        Melvin Salas

        Melvin Salas

        teacher•
        hace 4 años
        Stiven Gordillo Ruiz

        Stiven Gordillo Ruiz

        student•
        hace 4 años
      Beyra Lapierre Tumalan

      Beyra Lapierre Tumalan

      student•
      hace 4 años
        Joseph Michael Ciriaco Bermudez

        Joseph Michael Ciriaco Bermudez

        student•
        hace 4 años
      Enrique Reyes

      Enrique Reyes

      student•
      hace 4 años
      JOSE DAVID PUELLO AVILEZ

      JOSE DAVID PUELLO AVILEZ

      student•
      hace 4 años
      Shanexon Ortiz

      Shanexon Ortiz

      student•
      hace 4 años
      Kebyn Enrique Ajin Elías

      Kebyn Enrique Ajin Elías

      student•
      hace 4 años
      Cristian David Acevedo Escobar

      Cristian David Acevedo Escobar

      student•
      hace 4 años
      David Fernando Sandoval Gomez

      David Fernando Sandoval Gomez

      student•
      hace 2 años
      Gabriel José Solari Morales

      Gabriel José Solari Morales

      student•
      hace 2 años
      Daulis Gonzalez

      Daulis Gonzalez

      student•
      hace 3 años
      Pariksit Erikrsnan Ortiz Flores

      Pariksit Erikrsnan Ortiz Flores

      student•
      hace 3 años
      Darwin Rodríguez

      Darwin Rodríguez

      student•
      hace 4 años
      JOSE DAVID PUELLO AVILEZ

      JOSE DAVID PUELLO AVILEZ

      student•
      hace 4 años
      Emmanuel Rodríguez

      Emmanuel Rodríguez

      student•
      hace 4 años
      Diego Frank Lipa Choque

      Diego Frank Lipa Choque

      student•
      hace 4 años
      Andres Mejia

      Andres Mejia

      student•
      hace 4 años
      Jonathan Rocha

      Jonathan Rocha

      student•
      hace 4 años
      Mario Luis Centeno Vargas

      Mario Luis Centeno Vargas

      student•
      hace 4 años
      Mario Luis Centeno Vargas

      Mario Luis Centeno Vargas

      student•
      hace 4 años
      Joseph Michael Ciriaco Bermudez

      Joseph Michael Ciriaco Bermudez

      student•
      hace 4 años

      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:

      Codigo.png

      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.

      Screenshot 2023-05-11 at 5.40.02 PM.png
      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

      Screenshot 2022-10-15 at 13-12-06 DartPad.png

      My code with Set in Dart

      Screenshot_2.png

      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.