Introducción a los Conjuntos en Dart
En Dart, un conjunto (Set) es una colección de elementos únicos, es decir, no permite duplicados. Los conjuntos son útiles cuando necesitas asegurarte de que una colección no contenga elementos repetidos. Dart proporciona la clase Set
para trabajar con conjuntos.
Características de los Conjuntos
- Elementos Únicos: No permite elementos duplicados.
- Desordenados: No mantiene el orden de inserción de los elementos.
- Operaciones de Conjunto: Soporta operaciones como unión, intersección y diferencia.
Creación de Conjuntos
Puedes crear conjuntos de varias maneras en Dart:
Usando Literales de Conjunto
Usando el Constructor de la Clase Set
void main() { Set<String> frutas = Set(); frutas.add('Manzana'); frutas.add('Banana'); frutas.add('Naranja'); print(frutas); // {Manzana, Banana, Naranja} }
Convertir una Lista a un Conjunto
void main() { List<int> listaNumeros = [1, 2, 2, 3, 4, 4, 5]; Set<int> conjuntoNumeros = Set.from(listaNumeros); print(conjuntoNumeros); // {1, 2, 3, 4, 5} }
Operaciones Básicas con Conjuntos
Añadir Elementos
void main() { Set<String> colores = {'Rojo', 'Verde'}; colores.add('Azul'); print(colores); // {Rojo, Verde, Azul} }
Eliminar Elementos
void main() { Set<String> colores = {'Rojo', 'Verde', 'Azul'}; colores.remove('Verde'); print(colores); // {Rojo, Azul} }
Verificar la Existencia de un Elemento
void main() { Set<String> colores = {'Rojo', 'Verde', 'Azul'}; print(colores.contains('Verde')); // true print(colores.contains('Amarillo')); // false }
Tamaño del Conjunto
Operaciones de Conjunto
Unión
La unión de dos conjuntos contiene todos los elementos de ambos conjuntos.
void main() { Set<int> conjuntoA = {1, 2, 3}; Set<int> conjuntoB = {3, 4, 5}; Set<int> union = conjuntoA.union(conjuntoB); print(union); // {1, 2, 3, 4, 5} }
Intersección
La intersección de dos conjuntos contiene solo los elementos que están en ambos conjuntos.
void main() { Set<int> conjuntoA = {1, 2, 3}; Set<int> conjuntoB = {3, 4, 5}; Set<int> interseccion = conjuntoA.intersection(conjuntoB); print(interseccion); // {3} }
Diferencia
La diferencia de dos conjuntos contiene los elementos que están en el primer conjunto pero no en el segundo.
void main() { Set<int> conjuntoA = {1, 2, 3}; Set<int> conjuntoB = {3, 4, 5}; Set<int> diferencia = conjuntoA.difference(conjuntoB); print(diferencia); // {1, 2} }
Ejercicios Prácticos
Ejercicio 1: Crear y Manipular un Conjunto
Instrucciones: Crea un conjunto de nombres de animales. Añade algunos nombres, elimina uno y verifica si un nombre específico está en el conjunto.
void main() { // Crear un conjunto de nombres de animales Set<String> animales = {'Perro', 'Gato', 'Elefante'}; // Añadir nombres animales.add('León'); animales.add('Tigre'); // Eliminar un nombre animales.remove('Gato'); // Verificar si un nombre específico está en el conjunto bool contieneLeon = animales.contains('León'); bool contieneGato = animales.contains('Gato'); // Imprimir resultados print(animales); // {Perro, Elefante, León, Tigre} print(contieneLeon); // true print(contieneGato); // false }
Ejercicio 2: Operaciones de Conjunto
Instrucciones: Dado dos conjuntos de números, realiza las operaciones de unión, intersección y diferencia.
void main() { // Crear dos conjuntos de números Set<int> conjuntoA = {1, 2, 3, 4}; Set<int> conjuntoB = {3, 4, 5, 6}; // Unión Set<int> union = conjuntoA.union(conjuntoB); // Intersección Set<int> interseccion = conjuntoA.intersection(conjuntoB); // Diferencia Set<int> diferencia = conjuntoA.difference(conjuntoB); // Imprimir resultados print('Unión: $union'); // Unión: {1, 2, 3, 4, 5, 6} print('Intersección: $interseccion'); // Intersección: {3, 4} print('Diferencia: $diferencia'); // Diferencia: {1, 2} }
Conclusión
En esta sección, hemos aprendido sobre los conjuntos en Dart, cómo crearlos y manipularlos, y cómo realizar operaciones de conjunto como unión, intersección y diferencia. Los conjuntos son una herramienta poderosa cuando necesitas trabajar con colecciones de elementos únicos. En el próximo módulo, exploraremos los mapas en Dart, otra estructura de datos fundamental.
Curso de Programación en Dart
Módulo 1: Introducción a Dart
- Introducción a Dart
- Configuración del Entorno de Desarrollo
- Tu Primer Programa en Dart
- Sintaxis y Estructura Básica