Junior — Middle
How can you extract sorted values by identifier from a hash table?
sobes.tech AI
Answer from AI
In Go, a hash table is implemented using the map type, which does not guarantee the order of elements during iteration. To obtain values sorted by key (for example, by identifier), you need to:
- Extract all keys from the map into a slice.
- Sort the slice of keys using the
sortfunction. - Iterate over the sorted keys and retrieve the corresponding values from the map.
Example:
package main
import (
"fmt"
"sort"
)
func main() {
data := map[int]string{
3: "three",
1: "one",
2: "two",
}
// Extract keys
keys := make([]int, 0, len(data))
for k := range data {
keys = append(keys, k)
}
// Sort keys
sort.Ints(keys)
// Iterate over sorted keys
for _, k := range keys {
fmt.Printf("%d: %s\n", k, data[k])
}
}
This way, you will get values sorted by identifier (key).