Junior — Middle
Lüğətlərdə və ya hash-cədvəllərdə açar kimi istifadə oluna biləcək məlumatlar və ya obyektlər hansılardır?
sobes.tech Süni İntellekt
AI-dan cavab
Sözlüklərdə (dictionary) və ya hash cədvəllərində açarlar aşağıdakı tələblərə cavab verən obyektlər ola bilər:
- Düzgün şəkildə tətbiq edilmiş bərabərlik müqayisə metodları (
equalsJava-da,isEqualSwift-də) və hash hesablaması (hashCodeJava-da). - Dəyişməz (immutable) və ya ən azı açar kimi istifadə edildikdən sonra dəyişməyən, axtarış problemlərinin qarşısını almaq üçün.
iOS (Swift) daxilində, sözlüklərdə (Dictionary) açarlar adətən Hashable protokoluna uyğun tiplərdir. Bunlar aşağıdakılar ola bilər:
- Standart tiplər:
String,Int,Double,Bool. Hashableprotokolunu həyata keçirən xüsusi strukturlar və ya sinflər.
Nümunə:
struct Person: Hashable {
let id: Int
let name: String
}
var dict: [Person: String] = [:]
dict[Person(id: 1, name: "Alice")] = "Developer"
Buna görə, açarlar hashable və dəyişməz olmalıdır ki, sözlük düzgün işləsin.