Junior — Middle
Hoe kunnen gesorteerde waarden op identificator uit een hash-tabel worden gehaald?
sobes.tech AI
Antwoord van AI
In Go wordt de hash-tabel geïmplementeerd met behulp van het type map, dat de volgorde van elementen tijdens iteratie niet garandeert. Om waarden gesorteerd op sleutel (bijvoorbeeld ID) te krijgen, moet je:
- Alle sleutels uit de kaart halen in een slice.
- De slice van sleutels sorteren met behulp van de
sort-functie. - Over de gesorteerde sleutels itereren en de bijbehorende waarden uit de kaart halen.
Voorbeeld:
package main
import (
"fmt"
"sort"
)
func main() {
data := map[int]string{
3: "drie",
1: "een",
2: "twee",
}
// Haal sleutels op
keys := make([]int, 0, len(data))
for k := range data {
keys = append(keys, k)
}
// Sorteer sleutels
sort.Ints(keys)
// Loop over gesorteerde sleutels
for _, k := range keys {
fmt.Printf("%d: %s\n", k, data[k])
}
}
Hierdoor krijg je waarden gesorteerd op identificator (sleutel).