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()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/644351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

社区分享|百果园选择DataEase搭档蜜蜂微搭实现企业数据应用一体化

百果园&#xff0c;全称为深圳百果园实业&#xff08;集团&#xff09;股份有限公司&#xff0c;2001年12月成立于深圳&#xff0c;2002年开出中国第一家水果专卖店。截至2022年11月&#xff0c;百果园全国门店数量超过5600家&#xff0c;遍布全国140多个城市&#xff0c;消费会…

5118优惠码vip、svip、专业版和旗舰版使用yhm666

5118大数据平台会员优惠码【yhm666】&#xff0c;结算时勾选“使用优惠码”&#xff0c;然后在优惠码窗口中输入yhm666&#xff0c;然后点确定即可享受特价会员价格。阿腾云atengyun.com分享如下图&#xff1a; 5118会员优惠码【yhm666】 5118会员价格和使用优惠码之后的价格对…

Android 9.0 系统禁用截屏和录屏功能

1.前言 在9.0的系统rom产品开发中,在对于一些产品开发需求中,对系统截屏和录屏功能 要求去掉这些功能,不让用户截屏和录屏 保护 一个app的资源,所以就需要在系统中做限制不让截屏录屏,接下来具体实现相关功能 2.系统禁用截屏和录屏功能的核心类 frameworks\native\service…

C++ max和min函数详细使用指南

0. 前言 C 是一种强大而灵活的编程语言&#xff0c;具有丰富的标准库&#xff0c;其中包括了一系列实用的函数。其中&#xff0c;max 和 min 函数是处理数值的时候经常用到的工具。本文将深入探讨这两个函数的使用方法&#xff0c;以及它们在不同情景下的应用。 1. max 函数的…

ubuntu 20.04 使用 webrtc-streamer自动退出,报错GLIBC 问题解决方法

文章目录 前言Ubuntu 20.4中使用webrtc-streamer报错总结 前言 前端vue2 项目需要播放海康的视频流&#xff0c;本地启动起来了&#xff0c;现在需要的服务器上部署&#xff0c;服务器是Ubuntu 20.04&#xff0c;下面是部署时遇到的问题及解决方法&#xff0c;总耗时2天。 不知…

golang学习笔记——面试题 使用 3 个协程顺序打印 cat、dog、fish 各 100 次

文章目录 面试题 使用 3 个协程顺序打印 cat、dog、fish 各 100 次拓展第一种方法第二种方法 参考资料 面试题 使用 3 个协程顺序打印 cat、dog、fish 各 100 次 编程题&#xff1a;3个函数分别打印cat、dog、fish&#xff0c;要求每个函数都要起一个goroutine&#xff0c;按照…

算法训练营Day46(动态规划8之多重背包)

多重背包 关于 多重背包&#xff0c;力扣上没有相关的题目&#xff0c;所以今天的重点就是回顾一波 自己做的背包题目 本题力扣上没有原题&#xff0c;大家可以去卡码网第56题 (opens new window)去练习 简单介绍 有N种物品和一个容量为V 的背包。第i种物品最多有Mi件可用&…

【GitHub项目推荐--不错的 Java 开源项目】【转载】

1 基于 Java 的沙盒塔防游戏 Mindustry 是一款用 Java 编写的沙盒塔防游戏。玩家需要建造精密的传送带供应链&#xff0c;提供炮塔弹药&#xff0c;生产建筑材料&#xff0c;保护建筑并抵御敌人。也可以在跨平台多人合作游戏中与朋友一起战斗&#xff0c;或组队进行 PVP 比赛。…

多图合并二维码的制作方法,快速在线生成图片二维码

怎么将多张图合并用二维码展示呢&#xff1f;现在经常会通过扫码的方式来查看图片&#xff0c;选择这种方式不仅可以展现更多地内容&#xff0c;还能够减少图片对个人容量的占用&#xff0c;增加用户的交互性和娱乐性。那么如何使用二维码生成器来快速制作图片二维码呢&#xf…

openssl3.2 - 检查rsa证书和私钥是否匹配(快速手搓一个工具)

文章目录 openssl3.2 - 检查rsa证书和私钥是否匹配(快速手搓一个工具)概述效果笔记编程环境界面控件的设置增加文件拖拽的类RSA证书和key是否匹配的实现在程序中加入环境变量备注备注END openssl3.2 - 检查rsa证书和私钥是否匹配(快速手搓一个工具) 概述 在学习openssl官方的…

Python 变量?对象?引用?赋值?一个例子解释清楚

哈喽大家好&#xff0c;我是咸鱼。 前天有个小伙伴找到我&#xff0c;给了我一段 python 代码&#xff1a; a [1, 2] a[1] a print(a[1])然后问我为什么结果是 [1, [...]]&#xff0c;我一看这个问题有意思&#xff0c;我说三言两语解释不清楚&#xff0c;我写篇文章到时候…

和硕拿下AI Pin代工大单公司 | 百能云芯

和硕公司近日成功中标AI Pin代工大单&#xff0c;AI Pin被认为是继iPhone之后的下一个划时代产品&#xff0c;吸引了全球科技圈的广泛关注。和硕公司对此表示&#xff0c;他们不会只专注于单一客户&#xff0c;而是期望在下半年有更多新品上市&#xff0c;为公司带来丰硕的业绩…

自定义注解使用案例,

后续会加上详细注释&#xff0c;或者出一个贴图详细的2.0版本&#xff0c;大家不要错过&#xff01;我会详细教大家如何使用自定义注解开发&#xff01;让你的代码瞬间高大上起来 Data public class ReportDateDTO {/*** 年*/ApiModelProperty(value "年", notes &…

C++ -- 入门(引用)

1.引用 1.1引用的概念 引用不是新定义一个变量&#xff0c;而是给已存在变量取了一个别名&#xff0c;编译器不会为引用变量开辟内存空间&#xff0c;它和它引用的变量共用同一块内存空间。 比如&#xff1a;李逵&#xff0c;在家称为"铁牛"&#xff0c;江湖上人称&q…

CC工具箱使用指南:【平差工具】

一、简介 平差是一个摘自英文单词“adiustment”的中文翻译&#xff0c;它最初源于土地测量工程&#xff0c;并在后来广泛应用于各个测量领域在传统的测量中&#xff0c;由于各种误差的存在&#xff0c;例如仪器、人为、大地形态等因素&#xff0c;所得到的测量结果是不完全准…

MySQL基础(一)

学习数据库的目的&#xff1a; 实现数据持久化到本地。使用完整的管理系统统一管理&#xff0c;可以实现结构化查询&#xff0c;方便管理。 一、数据库概述 数据库&#xff08;DataBase&#xff09; 为了方便数据的存储和管理&#xff0c;它将数据按照特定的 规则存储在磁盘…

项目解决方案: 视频融合(实时监控视频和三维建模进行融合)设计方案

目 录 一、需求描述 1、视频接入和控制要求 2、视频播放需求 3、提供其他应用的调用 二、方案设计 &#xff08;一&#xff09;系统设计图 &#xff08;二&#xff09;产品实现方案 三、产品和功能描述 &#xff08;一&#xff09;总体描述 &#xf…

Java 数据结构集合

文章目录 Java 数据结构1. 基本数据结构1.1 数组 (Array)1.2 链表 (Linked List)1.3 栈 (Stack)1.4 队列 (Queue)双向队列优先级队列 2. 树形数据结构2.1 二叉树 (Binary Tree)2.2 堆 (Heap) 3. 散列数据结构3.1 哈希表 (Hash Map)3.2 LinkedHashMap3.3 TreeMapConcurrentHashM…

【C++练级之路】【Lv.7】【STL】vector类的模拟实现

快乐的流畅&#xff1a;个人主页 个人专栏&#xff1a;《C语言》《数据结构世界》《进击的C》 远方有一堆篝火&#xff0c;在为久候之人燃烧&#xff01; 文章目录 引言一、成员变量二、默认成员函数2.1 constructor2.2 destructor2.3 copy constructor2.4 operator 三、迭代器…

Java毕业设计-基于jsp+servlet的学生推荐平台管理系统-第81期

获取源码资料&#xff0c;请移步从戎源码网&#xff1a;从戎源码网_专业的计算机毕业设计网站 项目介绍 基于jspservlet的学生推荐平台管理系统&#xff1a;前端 jsp、jquery&#xff0c;后端 servlet、jdbc&#xff0c;集成用户端和管理后台&#xff0c;用户端浏览书籍课程&…