Sobes.tech
Junior — Middle

Uma coleção Set pode conter elementos de qualquer tipo de dado ou há restrições de tipo?

sobes.tech IA

Resposta da IA

Em Swift, a coleção Set pode conter elementos de qualquer tipo que cumpra o protocolo Hashable. Isto significa que os tipos devem ser capazes de calcular um código hash para garantir a unicidade dos elementos no Set.

Exemplos de tipos permitidos:

  • Tipos padrão, como Int, String, Double — eles já cumprem Hashable.
  • Estruturas ou classes personalizadas, se implementarem o protocolo Hashable.

Exemplo de estrutura personalizada adequada para Set:

struct Person: Hashable {
    let id: Int
    let name: String
}

var peopleSet: Set<Person> = []
peopleSet.insert(Person(id: 1, name: "Иван"))

Se um tipo não cumprir Hashable, não pode ser usado em um Set.