Sobes.tech
Junior — Middle

Is de Map-gegevensstructuur in de programmeertaal sorteerbaar op sleutels?

sobes.tech AI

Antwoord van AI

In de programmeertaal Go garandeert de ingebouwde datastructuur map geen sortering op sleutels. De volgorde van het doorlopen van elementen in een map is willekeurig en kan tussen iteraties veranderen.

Als je de elementen op sleutels wilt sorteren, moet je de sleutels extraheren naar een slice, deze sorteren met sort, en vervolgens de map doorlopen in de volgorde van de gesorteerde sleutels:

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])
}

Op deze manier is de map zelf niet gesorteerd, maar de sortering kan handmatig worden geïmplementeerd.