Qt容器QMap(映射)

这篇具有很好参考价值的文章主要介绍了Qt容器QMap(映射)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

插入数据

QMap<QString,QString> infoMap; //第一个是key 第二个是value
    infoMap.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()文章来源地址https://www.toymoban.com/news/detail-820563.html

到了这里,关于Qt容器QMap(映射)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • QT学习笔记-Linux ARM环境下实现QT程序通过ODBC驱动访问SQLServer数据库

    在嵌入式系统中使用QT开发上位机应用时不可避免的会涉及访问各种数据库的场景,而服务端数据库的种类则有多种可能(Oracle、Postgresql、MySql、SQLServer),本文就介绍一下如何实现在Linux Arm环境下实现QT程序通过ODBC驱动访问SQLServer数据库的。 开发环境操作系统:windows10专业

    2024年02月12日
    浏览(60)
  • Openssl数据安全传输平台016:在QT中的数据库操作+在项目中的设计与实现

    在Qt中进行数据库操作需要使用的类: QSqlDataBase 属于的模块: sql 使用这个类可以创建出一个连接数据库服务器的实例 单例

    2024年02月06日
    浏览(51)
  • QT学习笔记-oracle oci数据库驱动交叉编译并移植到ARM开发板

    在上一文《QT学习笔记-QT安装oracle oci驱动》中介绍了在Windows环境下使用QT访问oracle数据库时遇到驱动无法加载问题的解决办法,大体思路是对QT源码中数据库驱动的源码oci进行编译,要想通过编译需要依赖对应数据库的头文件和库(可以通过下载oracle instant client),编译通过

    2024年02月13日
    浏览(57)
  • 算法、数据结构、计算机系统、数据库MYSQL、概率论、数学实验MATLAB、数学建模、马原、英语、杂项、QT项目

    可以三个条件 以此类推 (condition1)?x:(condition2)?y:z string变成int int 变成string 可以用循环 模运算展开式推导 我们要证明等式: (a * b) mod m = ((a mod m) * (b mod m)) mod m 假设 a = q1 * m + r1 ,其中 q1 是 a 除以 m 的商, r1 是 a 除以 m 的余数。类似地,假设 b = q2 * m + r2 ,其中

    2024年02月08日
    浏览(66)
  • QT基础篇(13)QT5数据库

    1.数据库基本概念 数据库(Database)是指存储、管理和组织数据的集合。它是一个组织化的、可持久化的数据集合,用于支持数据的存储、检索、更新和管理。 数据库系统(Database System)是建立在计算机上的数据管理系统,由数据库、数据库管理系统(DBMS)和应用程序组成。

    2024年01月22日
    浏览(45)
  • [QT编程系列-22]:基本框架 - QT常见数据结构:QString、QList、QVector、QMap、QHash、QSet、QPair快览

    目录 1. QT常见数据结构概述 2. QList与QVector比较 3. QPair和QMap比较 4. QT数据结构与STL库数据结构比较 5. QT数据结构与STL库数据结构性能比较 在Qt中,有几个主要的数据结构常用于处理和组织数据,包括: QString: 用于存储和操作字符串的类。QString是Qt中常用的字符串类型,提供

    2024年02月16日
    浏览(41)
  • [QT编程系列-21]:基本框架 - QT常见数据结构:QString、QList、QVector、QMap、QHash、QSet、QPair详解

    目录 1 QString 2 QList 3 QVector 4 QMap 5 QHash 6 QSet 7 QPair QString是Qt中用于存储和操作字符串的类。它提供了丰富的字符串处理方法和功能。 以下是QString的一些主要特点和常用操作: 创建QString对象: 获取字符串内容和长度: 字符串比较和搜索: 字符串分割和连接: 字符串格式

    2024年02月16日
    浏览(41)
  • 九、Qt C++ 数据库开发

    《一、QT的前世今生》 《二、QT下载、安装及问题解决(windows系统)》 《三、Qt Creator使用》 ​​​ 《四、Qt 的第一个demo-CSDN博客》 《五、带登录窗体的demo》 《六、新建窗体时,几种窗体的区别》  《七、Qt 信号和槽》  《八、Qt C++ 毕业设计》 《九、Qt C++ 数据库开发》 《

    2024年01月18日
    浏览(57)
  • Qt 无法连接MySQL数据库

    Qt 5.15及之后版本缺少mysql驱动:qsqlmysql.dll、qsqlmysqld.dll 下载对应版本驱动:https://github.com/thecodemonkey86/qt_mysql_driver/releases?page=2 拷贝至Qt安装路径下,例如 Qt5.15.25.15.2msvc2019_64pluginssqldrivers 根据mysql版本下载对应mysql压缩包https://downloads.mysql.com/archives/community/ 找到libmysql.dll、

    2024年04月12日
    浏览(64)
  • QT mysql 驱动-数据库安装以及qt连接ssl报错问题

    文章末尾是引用笔记 配置MySQL8.0 环境变量 如果不配置MySQL环境变量,就不能在命令行直接输入MySQL登录命令。下面说如何配置MySQL的环境变量: 步骤1:在桌面上右击【此电脑】图标,在弹出的快捷菜单中选择【属性】菜单命令。 步骤2:打开【系统】窗口,单击【高级系统设

    2024年01月20日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包