PS: QMap 一个Key 只能对应 一个Value (不是绝对的情况...内部都有 一个key对应多个value的机制)

PS: QMultiMap 一个Key 可以对应 多个Value

PS: QMap&QMultiMap 和 QHash&QMultiHash 理解上类似

1、QMap

  1.1、代码:

void MainWindow::on_pushButton_clicked()
{
QMap<QString, int> map;
map.insert("a", );
map.insert("a", );
// ***
map.insertMulti("b", );// ZC: 个人理解:强制使用 一个Key对应多个Value 的机制
map.insert("b", );// ZC: 默认情况,会替换掉 最后插入进来的Value
map.insertMulti("b", );
map.insert("b", );
// ***
map.insert("c", ); qDebug() << map.value("a");
qDebug() << "\t count :"<<map.values("a").count();
qDebug() << "\t " << map.values("a");
qDebug() << map.value("b");
qDebug() << "\t "<< map.values("b");
qDebug() << map.keys();
}

  1.2、控制台输出:

2
count : 1
(2)
6
(6, 5)
("a", "c")

2、QMultiMap

  2.1、代码:

void MainWindow::on_pushButton_2_clicked()
{
QMultiMap<QString, int> multiMap;
multiMap.insert("a", );
multiMap.insert("a", );
// ***
multiMap.insertMulti("b", );
multiMap.insert("b", );
multiMap.insertMulti("b", );
multiMap.insert("b", );
// ***
multiMap.insert("c", ); qDebug() << multiMap.value("a");
qDebug() << "\t count :"<<multiMap.values("a").count();
qDebug() << "\t " << multiMap.values("a");
qDebug() << multiMap.value("b");
qDebug() << "\t "<< multiMap.values("b");
qDebug() << multiMap.keys();
}

  2.2、控制台输出:

2
count : 2
(2, 1)
6
(6, 4, 5, 3)
("a", "c")

3、

4、

5、

Qt532.容器QMap&QMultiMap的更多相关文章

  1. QMultiMap使用

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QMultiMap使用     本文地址:http://techieliang.com/201 ...

  2. Qt容器类(总结)(新发现的QQueue和QStack,注意全都是泛型)

    Introduction Qt库提供了一组基于模板的一般化的容器类.这些容器可以存储指定的类型的元素.例如,如果你需要一个可变大小的Qstring数组,可以用QVector<QString> ...

  3. Qt容器类汇总说明

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt容器类汇总说明     本文地址:http://techieliang.com/2017/ ...

  4. qt基础知识之类库概述

    qt是用标准c++编写的跨平台开发类库,它对标准c++进行拓展,引入元对象系统.信号&槽.属性等特征 全局定义 容器类及对应迭代器 qt的模块化体系,分为 基本模块和拓展模块,一个模块通常就是 ...

  5. Qt类库介绍

    QT类库 QT核心特点 QT是一个跨平台开发的类库. QT的元对象编译器MOC是一个预处理器,在源程序被编译前先将这些QT特性的程序转为标准的C++兼容的形式,然后再有标准的C++编译器进行编译.也就 ...

  6. QtCore Module's Classes

    Qt Core C++ Classes Provides core non-GUI functionality. More... Reference These are links to the AP ...

  7. QT5:先导篇 数据类型

    一.简介 二.字符串类(QString) 三.日期类(QData) 四.时间类(QTime) 五.顺序容器类 Qt的顺序容器类有QList QLinkedList  QVector QStack QQ ...

  8. 1.QT中的容器QVector,QList,QSet,QMap,QQueue,QStack,QMultiMap,QSingleList等

    1  新建一个项目 在pro文件中只需要加上CONFIG += C++11 main.cpp #include <QMap> int main() { QMap<int,QStrin ...

  9. 1.QT该容器QVector,QList,QSet,QMap,QQueue,QStack,QMultiMap,QSingleList等待

    1  新建一个项目 在pro文件里仅仅须要加上CONFIG += C++11 main.cpp #include <QMap> int main() { QMap<int,QStri ...

随机推荐

  1. 自定义schema 流程

    参考 https://www.cnblogs.com/googlemeoften/p/5746684.html

  2. Mysql高级第一天(laojia)

    select char_length('我们love'); select *, char_length(sname) '姓名字数' from tbl_student; select '对方' + '5 ...

  3. iOS项目之解析HTML数据

    最近因为需求,一直在做HTML数据的解析,从网页中去获取需要的数据,然后展示到自己的app中. 在网上找了很多资料,大多都是TFHpple这个第三方框架,能够根据标签节点获取对应的数据,但是现在我需要 ...

  4. Python基本数据类型——字典

    字典 dict 字典是Python的另一种有序的可变数据结构,且可存储任意类型对象. 字典是一种键值对的数据容器,每个键值(key:value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典 ...

  5. Golang错误处理函数defer、panic、recover、errors.New介绍

    在默认情况下,当发生错误(panic)后,程序就会终止运行 如果发生错误后,可以捕获错误,并通知管理人员(邮件或者短信),程序还可以继续运行,这当然无可厚非 errors.New("错误信息 ...

  6. Linux Redhat 安装免费yum源

    Linux Redhat 安装免费yum源 出处地址:http://www.cnblogs.com/nbartchen/p/8565816.html 1.查看是否安装相关包 rpm -qa|grep ...

  7. k8s tensorflow

    Online learning github source Kubeflow实战系列 Prepare 了解ksonnet初探Google之Kubeflow (采用的是0.8.0)install dep ...

  8. linux 中部署 rsync 实现文件远程备份及 同步

    客户端:数据源:服务端:数据接收方 rsync官方文档:https://www.samba.org/ftp/rsync/rsync.html 手动测试用“通过远程外壳访问"里的语法: 参考1 ...

  9. bash 变量

    本地变量: 变量赋值:name=value 变量引用:${name}  , $name "":变量名会替换为其值 '':变量名不会替换为其值 查看变量: set 撤销变量:unse ...

  10. 动态规划之97 Interleaving String

    题目链接:https://leetcode-cn.com/problems/interleaving-string/description/ 参考链接:https://blog.csdn.net/u0 ...