Junior
¿Cuándo se debe usar Set en lugar de Array?
sobes.tech AI
Respuesta de la IA
Set debe usarse en los siguientes casos:
- Necesidad de almacenar solo elementos únicos.
Setgarantiza automáticamente que cada elemento aparece en la colección no más de una vez. - Alta eficiencia en la comprobación de la existencia de un elemento. La operación
contains(_:)enSettiene una complejidad amortizada de O(1) en promedio, mientras que enArrayes O(n). - El orden de los elementos no importa. A diferencia de
Array,Setno garantiza un orden específico en la enumeración de sus elementos. - Se requieren operaciones frecuentes de adición, eliminación y comprobación de existencia. Estas operaciones en
Setsuelen ser más eficientes que enArraypara colecciones grandes, si el orden no importa y se necesita unicidad.
Ejemplo de código que muestra la diferencia en la búsqueda:
// Array
let array = [1, 2, 3, 4, 5]
let element = 5
// Búsqueda en Array - búsqueda lineal (O(n))
let isPresentInArray = array.contains(element)
// Set
let set: Set = [1, 2, 3, 4, 5]
// Búsqueda en Set - hashing (en promedio O(1))
let isPresentInSet = set.contains(element)