Sobes.tech
Junior — Middle

Quais são as diferenças entre a estrutura de dados Set e um array no contexto do seu uso e características?

sobes.tech IA

Resposta da IA

Um conjunto (Set) e um array (Array) são estruturas de dados diferentes com características e aplicações distintas:

  • Unicidade dos elementos: Set armazena apenas valores únicos, duplicados são automaticamente ignorados. Um array pode conter elementos repetidos.

  • Ordem dos elementos: Num array, a ordem dos elementos é fixa e importante, pode-se aceder por índice. Num Set, a ordem não é garantida (em Swift, Set é não ordenado), portanto a indexação não é possível.

  • Acesso por índice: Um array permite obter rapidamente um elemento por índice. Set não suporta acesso indexado.

  • Procura e verificação de existência: Em Set, a verificação de existência de um elemento é geralmente mais rápida (cerca de O(1)), num array, a procura é linear (O(n)).

  • Utilização: Arrays são convenientes quando a ordem é importante e duplicados são permitidos. Set é adequado quando se precisa armazenar elementos únicos e verificar rapidamente a sua existência.

Exemplo em Swift:

var array = [1, 2, 2, 3]
var set: Set = [1, 2, 2, 3]
print(array) // [1, 2, 2, 3]
print(set)   // [2, 3, 1] — a ordem não é garantida, duplicados removidos