Conjuntos

Un conjunto (set) es una estructura de datos que permite almacenar una colección de elementos únicos y sin un orden específico. A diferencia de las listas o arrays, en los conjuntos no se permiten duplicados, lo que los hace útiles cuando necesitamos asegurarnos de que cada elemento aparezca solo una vez.
Se asemejan a los conjuntos en matemáticas, donde se agrupan elementos sin importar el orden ni la repetición.
Características principales
- Elementos únicos: No se permiten valores duplicados.
- Sin orden definido: Los elementos no tienen una posición fija ni se garantiza un orden específico.
- Operaciones de teoría de conjuntos: Permiten realizar operaciones como unión, intersección y diferencia.
- Acceso rápido: Suelen estar implementados con tablas hash, lo que permite búsquedas eficientes.
Operaciones básicas
- Add: Inserta un nuevo elemento en el conjunto (si no existe ya).
- Remove: Elimina un elemento específico del conjunto.
- Contains: Verifica si un elemento pertenece al conjunto.
- Union: Devuelve un nuevo conjunto con todos los elementos de dos conjuntos.
- Intersection: Devuelve un conjunto con los elementos comunes a dos conjuntos.
- Difference: Devuelve los elementos que están en un conjunto pero no en el otro.
- IsEmpty: Comprueba si el conjunto está vacío.
- Size: Determina cuántos elementos hay en el conjunto.
Usos comunes de los conjuntos
- Eliminación de duplicados: Útiles para obtener colecciones de elementos únicos a partir de listas o arrays con repetidos.
- Operaciones matemáticas: Modelan de forma directa operaciones de unión, intersección y diferencia.
- Sistemas de permisos o roles: Representar colecciones únicas de privilegios o características.
- Filtrado rápido: Para verificar pertenencia de un elemento en un grupo sin necesidad de recorrer toda una lista.