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
Setgarante 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(_:)noSettem uma complexidade amortizada de O(1) em média, enquanto noArrayé O(n). - A ordem dos elementos não importa. Ao contrário do
Array, oSetnã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
Setgeralmente são mais eficientes do que noArraypara 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)