Sobes.tech
Junior

Quando deve usar Set em vez de Array?

sobes.tech IA

Resposta da IA

O Set deve ser usado nos seguintes casos:

  • Necessidade de armazenar apenas elementos únicos. O Set garante automaticamente que cada elemento aparece na coleção no máximo uma vez.
  • Alta eficiência na verificação da presença de um elemento. A operação contains(_:) no Set tem uma complexidade amortizada de O(1) em média, enquanto no Array é O(n).
  • A ordem dos elementos não importa. Ao contrário do Array, o Set não garante uma ordem específica na enumeração de seus elementos.
  • Operações frequentes de adição, remoção e verificação de presença são necessárias. Essas operações no Set geralmente são mais eficientes do que no Array para coleções grandes, se a ordem não for importante e se for necessária a unicidade.

Exemplo de código demonstrando a diferença na busca:

// Array
let array = [1, 2, 3, 4, 5]
let element = 5

// Busca em Array - busca linear (O(n))
let isPresentInArray = array.contains(element)

// Set
let set: Set = [1, 2, 3, 4, 5]
// Busca em Set - hashing (em média O(1))
let isPresentInSet = set.contains(element)