一生一世学坛

 找回密码
 立即注册
搜索
查看: 4754|回复: 0
打印 上一主题 下一主题

如何使Map能够保持原始的插入顺序

[复制链接]

334

主题

385

帖子

6816

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6816
跳转到指定楼层
楼主
发表于 2022-6-20 16:39:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

还有一种比较复杂的方法,就是根据你具体的业务,设计一个符合结构。
比如,你的业务中插入、查询和修改较多,删除操作较少,可以把Value和Key分别放在两个容器里面,每次插入数据的时候,引入一个当前的序列号Number(序列号永远递增就能保证顺序):
QHash<Key, Number> keyHash;
QMap<Number, Value> valueMap;
这样valueMap可以保证按照插入顺序浏览,查询的时候通过keyHash找到key->Number,然后使用Number在valueMap中找到对应的值。
这样做的好处是,当列表比较大的时候,查询效率会比直接使用数组和链表更高;





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|分享学习  

GMT+8, 2024-5-2 13:55 , Processed in 0.050067 second(s), 5 queries , File On.

声明:本站严禁任何人以任何形式发表违法言论!

本站内容由网友原创或转载,如果侵犯了您的合法权益,请及时联系处理!© 2017 zamxqun@163.com

皖公网安备 34010402700634号

皖ICP备17017002号-1

快速回复 返回顶部 返回列表