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
