Sobes.tech
Junior — Middle

Une collection Set peut-elle contenir des éléments de n'importe quel type de données ou y a-t-il des restrictions de type?

sobes.tech IA

Réponse de l'IA

En Swift, la collection Set peut contenir des éléments de n'importe quel type qui conforme au protocole Hashable. Cela signifie que les types doivent pouvoir calculer un code de hachage pour assurer l'unicité des éléments dans le Set.

Exemples de types autorisés :

  • Types standard, tels que Int, String, Double — ils sont déjà conformes à Hashable.
  • Structures ou classes personnalisées, si elles implémentent le protocole Hashable.

Exemple de structure personnalisée adaptée pour Set :

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

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

Si un type ne conforme pas à Hashable, il ne peut pas être utilisé dans un Set.