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.