Sobes.tech
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. Set garantiza 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(_:) en Set tiene una complejidad amortizada de O(1) en promedio, mientras que en Array es O(n).
  • El orden de los elementos no importa. A diferencia de Array, Set no 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 Set suelen ser más eficientes que en Array para 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)