Junior — Middle
Kuidas saada hash-tabelist välja identifikaatori järgi sorteeritud väärtused?
sobes.tech AI
Vastus AI-lt
Go keeles hajutabelit rakendatakse map tüübi abil, mis ei taga elementide järjekorda iteratsiooni ajal. Et saada väärtusi, mis on sorteeritud võtme (näiteks identifikaatori) järgi, tuleb:
- Ekstraheerida kõik võtmed kaardist massiivi.
- Sorteerida võtmete massiiv, kasutades
sortfunktsiooni. - Läbida sorteeritud võtmed ja saada vastavad väärtused kaardist.
Näide:
package main
import (
"fmt"
"sort"
)
func main() {
data := map[int]string{
3: "kolm",
1: "üks",
2: "kaks",
}
// Võtmete ekstraktimine
keys := make([]int, 0, len(data))
for k := range data {
keys = append(keys, k)
}
// Võtmete sorteerimine
sort.Ints(keys)
// Läbimine sorteeritud võtmetega
for _, k := range keys {
fmt.Printf("%d: %s\n", k, data[k])
}
}
Nii saate väärtused, mis on sorteeritud identifikaatori (võtme) järgi.