Junior — Middle
Kādi datu tipi vai objekti var darboties kā atslēgas vārdnīcās vai hash-tabulās?
sobes.tech AI
Atbilde no AI
V vārdnīcās (dictionary) vai hēša tabulās atslēgas var būt objekti, kas atbilst šādiem prasībām:
- Pareizi īstenoti vienlīdzības salīdzināšanas (
equalsJava,isEqualSwift) un haša koda aprēķina (hashCodeJava) metodes. - Tie ir nemainīgi (immutable) vai vismaz pēc izmantošanas kā atslēga nemainās, lai izvairītos no meklēšanas problēmām.
iOS (Swift) gadījumā, vārdnīcās (Dictionary) parasti tiek izmantoti tipi, kas atbilst Hashable protokolam. Tie var būt:
- Standarta tipi:
String,Int,Double,Bool. - Lietotāja definētas struktūras vai klases, kas īsteno
Hashableprotokolu.
Piemērs:
struct Person: Hashable {
let id: Int
let name: String
}
var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Alice")] = "Developer"
Tādēļ atslēgas ir jābūt hashable un nemainīgām, lai vārdnīca darbotos pareizi.