golang ----map按key排序
实现map遍历有序
1. key有序
思路:对key排序,再遍历key输出value
代码如下:既可以从小到大排序,也可以从大到小排序
package main import (
"fmt"
"sort"
) func main() {
// To create a map as input
m := make(map[int]string)
m[1] = "a"
m[2] = "c"
m[0] = "b" // To store the keys in slice in sorted order
var keys []int
for k := range m {
keys = append(keys, k)
}
sort.Ints(keys) // To perform the opertion you want
for _, k := range keys {
fmt.Println("Key:", k, "Value:", m[k])
}
}
输出结果:
Key: 0 Value: b
Key: 1 Value: a
Key: 2 Value: c
实例2
package main
import (
"fmt"
"sort"
)
func main() {
// To create a map as input
m := make(map[string]int)
m["tom"] = 2
m["jame"] = 4
m["amy"] = 5
// To store the keys in slice in sorted order
var strs []string
for k := range m {
strs = append(strs, k)
}
sort.Strings(strs)
// To perform the opertion you want
for _, k := range strs {
fmt.Printf("%s\t%d\n", k, m[k])
}
}
输出结果:
amy 5
jame 4
tom 2
golang ----map按key排序的更多相关文章
- map的key排序
java map的key排序吗 java为数据结构中的映射定义了一个接口java.util.Map,他实现了四个类,分别是:HashMap,HashTable,LinkedHashMapTreeMap ...
- Java Map按键(Key)排序和按值(Value)排序
Map排序的方式有很多种,两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value).1.按键排序jdk内置的java.util包下的TreeMap<K,V ...
- Java Map 按Key排序和按Value排序
Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的Tr ...
- Java Map 按Key排序和按Value排序【转】【补】
package kingtool.sort; import java.util.ArrayList; import java.util.Collections; import java.util.Co ...
- Map 按Key排序 和 按Value排序
https://www.cnblogs.com/binz/p/6671917.html 一.根据value排序 通用方法 public class MapUtil { public static &l ...
- Java小知识-----Map 按Key排序和按Value排序
Map排序的方式有很多种,这里记录下自己总结的两种比较常用的方式:按键排序(sort by key), 按值排序(sort by value). 1.按键排序 jdk内置的java.util包下的Tr ...
- java Map按Key排序
public static void main(String[] args) { Map<String, String> map = new TreeMap<String, Stri ...
- C++ STL中Map的按Key排序和按Value排序
map是用来存放<key, value>键值对的数据结构,可以很方便快速的根据key查到相应的value.假如存储学生和其成绩(假定不存在重名,当然可以对重名加以区 分),我们用map来进 ...
- C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET
C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...
随机推荐
- HotSpot Java虚拟机中的“方法区”“持久代”“元数据区”的关系?
Sun/Oracle JDK的HotSpot VM中,直到JDK7都有“持久代”(Permanent Generation,简称PermGen).也称为方法区.Oracle JDK8的HotSpot ...
- Rainmeter 一部分 语法 中文教程
;Meter基本元素示例:;如果是[MeterStyle]表示Meter的公共Style,类似CSS的意义!!!;颜色可以使用网页的颜色定义方式,如半透明黄色:255.255.0.128=FFFF00 ...
- ckeditor 4.2.1_演示 ckeditor 上传&插入图片
本文内容 FineUI ckeditor fckeditor/ckeditor 演示 ckeditor 4.2.1 上传&插入图片 最近看了一下 FineUI_v3.3.1 控件,对里边的 c ...
- centos7没有ifconfig命令
yum search ifconfig 看到 net-tools.x86_64 : Basic networking tools 安装net-tools: yum install net-tools
- TQ2440与西门子S7-200 PLC自由口通信实现过程中问题总结
1.在win7上安装好PLC编程软件 STEP 7 MicroWIN 之后,无法实现编程软件与PLC的通信连接? 原因:STEP 7 MicroWIN 对win7支持不是很好 解决办法:在win7中安 ...
- JAVA各种泛型事例总结
转自:http://www.cnblogs.com/sunwei2012/archive/2010/10/08/1845938.html 普通泛型 class Point<T>{ // 此 ...
- linux下神奇的script
script 是一个神奇命令,script 能够将终端的会话过程录制下来,然后使用 scriptreplay 就可以将其录制的结果播放给他人观看.script 的好处就在于你在终端中的所有操作.敲过的 ...
- windows能连网络,可是打不开网页,出现无法解析server的DNS
首先,我想先说作为一名刚学完计算机网络课的学生,并且还完毕了学校的号称和斯坦福一个难度级别的网络实验之后.我觉得自己对于计算机网络还是勉强入门了.对于各种之前仅仅是听过的各种tcp.http.路由器. ...
- 〖Linux〗gun screen 配置文件
screen 默认使用 bash shell,一般情况下screen只用于android build,tmux则是我的日常使用多终端管理工具. # Default Shell shell " ...
- 【Linux】将一个命令的输出发送给另外一个命令
一个命令的输出可以作为下一个命令的输入,下一个命令的输出又会传递给下一个命令 我们通常使用管道和子shell的方法来组合多个命令的输出 格式 $ cmd1 |cmd2 | cmd3 这里的3个组合命令 ...