Sobes.tech
Junior — Middle

Proqramlaşdırma dilində Map məlumat strukturu açarlara görə sıralanırmı?

sobes.tech Süni İntellekt

AI-dan cavab

Go dilində daxili məlumat quruluşu olan map açarların sıralamasını təmin etmir. Map-də elementlərin gəzinti ardıcıllığı təsadüfi olur və iterasiyalar arasında dəyişə bilər.

Əgər elementləri açarlara görə sıralamaq lazımdırsa, açarları massivə çıxarmaq, sort istifadə edərək sıralamaq və sonra sıralanmış açarlara görə map-i keçmək lazımdır:

keys := make([]string, 0, len(m))
for k := range m {
    keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
    fmt.Println(k, m[k])
}

Beləliklə, map özü sıralı deyil, amma sıralama əl ilə həyata keçirilə bilər.