c++中map是有序的吗

c++中map是有序的吗,第1张

是的,无论是map还是multimap都是有序的,会按键排序

区别是map的键不能重复,而multimap的键可以重复。

下面图中有两个例子供参考:

map只是一个接口,他的实现类中

HashMap是无序的(只是说不是你插入时的顺序);

LinkedHashMap是有序的(按你插入的顺序);

TreeMap 是按key排序的;

HashMap 类基本上等同于 Hashtable, 区别仅仅在于: HashMap 不是同步的,并且运行 null 值.。

首先HashMap是无序的,想要有序可以用TreeMap,加入元素后自行排序,但是Map是键值对,它就算排序也是按key排序的,和元素没关系,如果你期望的是元素的排序,建议使用TreeSet,建立TreeSet的时候指定一个comparator.

如果确定可以使用TreeSet你可以追问,如果不用,HashMap不能排序这是你要的答案


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11775203.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存