技术专栏
Qt无序键值对
QMap是一个键值对类,跟标准C++的map类基本类似,声明原型如下:
QMap<T1,T2> map1
T1为键值对中的键key,T2为键值对中的值。通过键值对中的键可以搜索到值。一般来说,键值对中的键是唯一的,不可重复,而值没有要求,可以重复。并且QMap具有自动排序功能,对输入的键进行排序。
Qt的键值对容器都是自带排序的,直接上代码
#include <QMap>
int main(int argc, char *argv[])
{
QMap<int,QString> map;
map.insert(3,"map3");
map.insert(1,"map1");
map.insert(2,"map2");
map.insert(6,"map6");
map.insert(4,"map4");
map.insert(5,"map5");
map.insert(8,"map8");
map.insert(7,"map7");
map.insert(11,"map11");
map.insert(9,"map9");
map.insert(10,"map10");
for (auto i = map.begin();i != map.end();i++) {
std::cout << "key:" << i.key() << "value:" << i.value().toStdString() << "\n";
}
return 0;
}
运行结果:
存储map时顺序是打乱的,但是打印结果是顺序的,这是因为QMap是有序容器,数据存储后会被自动排序,但有时候我们想要无序的键值对。
无序键值对:QList<QPair<type,type>>
#include <QList>
#include <QMap>
int main(int argc, char *argv[])
{
QList<QPair<int,QString>> map;
map.append(QPair<int,QString>(2,"map2"));
map.append(QPair<int,QString>(1,"map1"));
map.append(QPair<int,QString>(4,"map4"));
map.append(QPair<int,QString>(3,"map3"));
map.append(QPair<int,QString>(7,"map7"));
map.append(QPair<int,QString>(5,"map5"));
map.append(QPair<int,QString>(6,"map6"));
map.append(QPair<int,QString>(9,"map9"));
map.append(QPair<int,QString>(8,"map8"));
map.append(QPair<int,QString>(11,"map11"));
map.append(QPair<int,QString>(10,"map10"));
foreach (auto i, map) {
std::cout << "key:" <<i.first << "value:" << i.second.toStdString() << "\n";
}
// QMap<int,QString> map;
// map.insert(3,"map3");
// map.insert(1,"map1");
// map.insert(2,"map2");
// map.insert(6,"map6");
// map.insert(4,"map4");
// map.insert(5,"map5");
// map.insert(8,"map8");
// map.insert(7,"map7");
// map.insert(11,"map11");
// map.insert(9,"map9");
// map.insert(10,"map10");
// for (auto i = map.begin();i != map.end();i++) {
// std::cout << "key:" << i.key() << "value:" << i.value().toStdString() << "\n";
// }
return 0;
}
运行结果:
运行结果与存储顺序相同
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包
15
8
评论
打赏
- 分享
- 举报
评论
0个
手气红包
暂无数据
相关专栏
-
浏览量:1133次2023-09-15 14:36:27
-
浏览量:3782次2020-08-21 19:40:26
-
浏览量:2607次2019-12-05 16:39:49
-
浏览量:2433次2022-12-08 23:43:55
-
浏览量:1959次2020-08-22 16:10:10
-
浏览量:3368次2020-08-18 20:09:59
-
浏览量:2289次2020-06-05 10:56:54
-
浏览量:6878次2020-11-24 23:15:35
-
浏览量:2658次2017-12-03 14:42:30
-
浏览量:3139次2020-09-20 22:17:04
-
浏览量:3720次2017-11-15 11:12:04
-
浏览量:2348次2020-08-23 21:47:22
-
浏览量:2882次2020-09-20 21:37:39
-
浏览量:6338次2020-08-22 16:31:22
-
浏览量:3908次2020-10-10 15:51:00
-
浏览量:4436次2020-09-13 21:46:11
-
浏览量:5172次2017-11-16 11:35:44
-
浏览量:8779次2020-11-12 21:51:54
-
浏览量:2506次2024-01-25 15:00:06
置顶时间设置
结束时间
删除原因
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
打赏作者
小王子🤴
您的支持将鼓励我继续创作!
打赏金额:
¥1
¥5
¥10
¥50
¥100
支付方式:
微信支付
打赏成功!
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报反馈
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明
审核成功
发布时间设置
发布时间:
请选择发布时间设置
是否关联周任务-专栏模块
审核失败
失败原因
请选择失败原因
备注
请输入备注