Junior — Middle
Quels types de données ou objets peuvent servir de clés dans des dictionnaires ou des tables de hachage?
sobes.tech IA
Réponse de l'IA
Dans les dictionnaires ou tables de hachage, les clés peuvent être des objets qui satisfont aux exigences suivantes :
- Possèdent des méthodes de comparaison d'égalité (
equalsen Java,isEqualen Swift) et de calcul de hachage (hashCodeen Java) correctement implémentées. - Sont immuables ou du moins ne changent pas après avoir été utilisés comme clé, afin d'éviter des problèmes lors de la recherche.
Sur iOS (Swift), les clés dans les dictionnaires (Dictionary) sont généralement des types conformes au protocole Hashable. Il peut s'agir de :
- Types standards :
String,Int,Double,Bool. - Structures ou classes personnalisées qui implémentent le protocole
Hashable.
Exemple :
struct Person: Hashable {
let id: Int
let name: String
}
var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Alice")] = "Developer"
Ainsi, les clés doivent être hashables et immuables pour le bon fonctionnement du dictionnaire.