Sobes.tech
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