Sobes.tech
Junior — Middle

Una collezione Set può contenere elementi di qualsiasi tipo di dato o ci sono restrizioni di tipo?

sobes.tech AI

Risposta dell'AI

In Swift, la collezione Set può contenere elementi di qualsiasi tipo che conforme al protocollo Hashable. Ciò significa che i tipi devono essere in grado di calcolare un codice hash per garantire l'unicità degli elementi nel Set.

Esempi di tipi consentiti:

  • Tipi standard, come Int, String, Double — sono già conformi a Hashable.
  • Strutture o classi personalizzate, se implementano il protocollo Hashable.

Esempio di struttura personalizzata adatta per Set:

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

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

Se un tipo non è conforme a Hashable, non può essere usato in un Set.