Junior
Em que casos deve usar Set em vez de Array?
sobes.tech IA
Resposta da IA
Deve usar um conjunto quando os seguintes aspetos forem importantes:
- Unicidade dos elementos: Um conjunto por natureza não permite elementos duplicados. Se precisar de um conjunto de valores únicos, um Array exigirá lógica adicional para filtrá-los.
- Alta performance em operações de pertença (verificação de existência): Verificar se um conjunto contém um elemento tem uma complexidade média de O(1) (amortizada), enquanto que para um Array é O(n).
- Alta performance em operações de inserção e remoção: Inserir e remover elementos por valor em um conjunto também geralmente têm uma complexidade média próxima de O(1), enquanto que para um Array pode chegar a O(n) no caso de inserções/removimentos que não sejam ao final.
- Não é necessário manter a ordem dos elementos: Um conjunto não garante qualquer ordem específica dos elementos. Se a ordem for importante, use um Array.
Cenários típicos de uso de conjuntos:
- Armazenamento de um conjunto de identificadores únicos.
- Filtragem de duplicados de uma coleção.
- Execução eficiente de operações de conjuntos, como união, interseção e diferença.
- Verificação rápida da existência de um elemento na coleção.
Exemplo de obtenção de elementos únicos de um array usando um conjunto:
let numbers = [1, 2, 3, 2, 4, 1, 5]
let uniqueNumbers = Set(numbers) // {1, 2, 3, 4, 5} - a ordem não é garantida