Junior — Middle
Ce tipuri de date sau obiecte pot acționa ca chei în dicționare sau tabele hash?
sobes.tech AI
Răspuns de la AI
În dicționare sau tabele hash, cheile pot fi obiecte care îndeplinesc următoarele cerințe:
- Au metode de comparare a egalității (
equalsîn Java,isEqualîn Swift) și de calcul al valorii hash (hashCodeîn Java) implementate corect. - Sunt imutabile sau cel puțin nu se schimbă după utilizarea ca cheie, pentru a evita problemele de căutare.
În iOS (Swift), cheile din dicționare (Dictionary) sunt de obicei tipuri care respectă protocolul Hashable. Acestea pot fi:
- Tipuri standard:
String,Int,Double,Bool. - Structuri sau clase personalizate care implementează protocolul
Hashable.
Exemplu:
struct Person: Hashable {
let id: Int
let name: String
}
var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Alice")] = "Developer"
Prin urmare, cheile trebuie să fie hash-abile și imutabile pentru funcționarea corectă a dicționarului.