按字母顺序获取地图中的按键的简单方法 [英] Easy way to get the keys in a map in alphabetical order
本文介绍了按字母顺序获取地图中的按键的简单方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
包main
importcontainer / vector
importfmt
importsort
func main(){
m:= map [string] string {b:15 z:123123,x:sdf,a:12}
var keys vector.StringVector;
for k,_:= range(m){
keys.Push(k)
}
sort.Sort(& keys)
fmt.Printf %v \\\
,键)
}
解决方案
您正在使用StringVector排序字符串数组。为了最小化开销,您可以排序一串字符串。
package main
import(
fmt
sort
)
func main(){
m:= map [string] string {b:15 z:123123,x:sdf,a:12}
mk:= make([] string,len(m))
i:= 0
for k,_:= range m {
mk [i] = k
i ++
}
sort.Strings(mk)
fmt.Println mk)
}
输出:
[abxz]
In Go, what's the easiest way to get the keys in a map sorted alphabetically? This is the shortest way I can do it:
package main
import "container/vector"
import "fmt"
import "sort"
func main() {
m := map[string]string {"b":"15", "z":"123123", "x":"sdf", "a":"12"}
var keys vector.StringVector;
for k,_ := range ( m ) {
keys.Push(k)
}
sort.Sort( &keys )
fmt.Printf("%v\n", keys)
}
解决方案
You are sorting an array of strings using StringVector. To minimize overhead, you could sort an array of strings.
package main
import (
"fmt"
"sort"
)
func main() {
m := map[string]string{"b": "15", "z": "123123", "x": "sdf", "a": "12"}
mk := make([]string, len(m))
i := 0
for k, _ := range m {
mk[i] = k
i++
}
sort.Strings(mk)
fmt.Println(mk)
}
Output:
[a b x z]
这篇关于按字母顺序获取地图中的按键的简单方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文