当前位置: 首页 > news >正文

Qt容器QMap(映射)

插入数据

QMap<QString,QString> infoMap; //第一个是key 第二个是valueinfoMap.insert("王祖蓝","163cm");infoMap.insert("Anglebaby","168cm");infoMap["易烊千玺"] = "173cm(成长中)";infoMap["姚明"] = "226cm";

通过Key找value 

    qDebug()<<"姚明:"<<infoMap["姚明"];qDebug()<<"易烊千玺:"<<infoMap.value("易烊千玺");

通过value找Key 

qDebug()<<"168cm的是谁呢?"<<infoMap.key("168cm")<<endl;

Java风格迭代器

只读

 QMapIterator<QString,QString> it_r(infoMap);for(it_r.toFront();it_r.hasNext();){it_r.next();qDebug()<<it_r.key()<<" : "<<it_r.value();}

注:输出的结果不是按照插入数据输出而是键序进行排序,它是有顺序的(可以理解为按字母顺便排序),哈希表是无序的!

读写 

  QMutableMapIterator<QString,QString> it_rw(infoMap);if(it_rw.findNext("163cm"))it_rw.setValue("163.1cm");qDebug()<<endl<<"修改后的数据遍历:";for(it_rw.toFront();it_rw.hasNext();){it_rw.next();qDebug()<<it_rw.key()<<":"<<it_rw.value();}

STL风格迭代器 

只读

    QMap<QString,QString> wMap;wMap.insert("spring","15℃");wMap.insert("summer","35℃");wMap.insert("autumn","23℃");wMap.insert("winter","-5℃");//STL风格迭代器 ,只读QMap<QString,QString>::const_iterator i_r;i_r = wMap.constBegin();qDebug()<< endl <<"初始化季节遍历:";for(;i_r!=wMap.constEnd();++i_r)qDebug()<<i_r.key()<<" : "<<i_r.value();

注:输出的结果不是按照插入数据输出而是键序进行排序,它是有顺序的(可以理解为按字母顺便排序),哈希表是无序的! 

读写 

    QMap<QString,QString>::iterator i_rw;i_rw = wMap.find("spring");if(i_rw!=wMap.end())i_rw.value() = "16℃";qDebug()<<endl<<"修改春天的数据后遍历:";i_rw = wMap.begin();for(;i_rw!=wMap.end();++i_rw)qDebug()<<*i_rw;

 Key对应多个value

    QMultiMap<QString,QString> wMap1;wMap1.insert("spring","15℃");wMap1.insert("summer","35℃");wMap1.insert("summer","39℃");wMap1.insert("summer","40℃");wMap1.insert("autumn","23℃");wMap1.insert("winter","-5℃");wMap1.insert("winter","-15℃");wMap1.insert("winter","-55℃");qDebug() <<endl <<"初始化wMap: "<<wMap1;wMap1.remove("winter","-55℃");qDebug()<<endl<<"删除winter:-55℃后"<<wMap1;qDebug()<<endl<<"winter:"<<wMap1.values("winter");

Java风格只读迭代器

    QMapIterator<QString,QString> i_r1(wMap1);qDebug()<<endl<<"初始化季节遍历:";for(i_r1.toFront();i_r1.hasNext();)qDebug()<<i_r1.key()<<" : "<<i_r1.next().value();

注:遍历数据拿值要从下一个开始拿!  

        qDebug()<<i_r1.key()<<" : "<<i_r1.next().value();

        一定要添加上next()

相关文章:

  • leetcode---Z字形变换
  • 数据结构<1>——树状数组
  • 汇编中的标签与C语言的函数对比与区别
  • Windows10上通过MSYS2编译FFmpeg 6.1.1源码操作步骤
  • 时间序列大模型:TimeGPT
  • 大数据平台红蓝对抗 - 磨利刃,淬精兵!
  • 搭建k8s集群实战(一)系统设置
  • 机器学习-决策树【手撕】
  • spawn_group_template | spawn_group | linked_respawn
  • 【Flink-CDC】Flink CDC 介绍和原理概述
  • 编码风格之(5)GNU软件编码风格(3)
  • c# MathNet.Numerics 圆拟合使用案例
  • 08章【文件与IO】
  • CMS如何调优
  • 如何在Docker下部署MinIO存储服务通过Buckets实现文件的远程上传
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • HTML5新特性总结
  • leetcode386. Lexicographical Numbers
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • MYSQL 的 IF 函数
  • node-glob通配符
  • PV统计优化设计
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • STAR法则
  • Vue UI框架库开发介绍
  • 爬虫模拟登陆 SegmentFault
  • 算法-图和图算法
  • 在Unity中实现一个简单的消息管理器
  • 正则学习笔记
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​决定德拉瓦州地区版图的关键历史事件
  • !!Dom4j 学习笔记
  • #1014 : Trie树
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (06)金属布线——为半导体注入生命的连接
  • (附源码)计算机毕业设计大学生兼职系统
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (四)Linux Shell编程——输入输出重定向
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • ./mysql.server: 没有那个文件或目录_Linux下安装MySQL出现“ls: /var/lib/mysql/*.pid: 没有那个文件或目录”...
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core 6 redis操作类
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET 程序如何获取图片的宽高(框架自带多种方法的不同性能)
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本