Qt532.容器QMap&QMultiMap
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的更多相关文章
- QMultiMap使用
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QMultiMap使用 本文地址:http://techieliang.com/201 ...
- Qt容器类(总结)(新发现的QQueue和QStack,注意全都是泛型)
Introduction Qt库提供了一组基于模板的一般化的容器类.这些容器可以存储指定的类型的元素.例如,如果你需要一个可变大小的Qstring数组,可以用QVector<QString> ...
- Qt容器类汇总说明
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:Qt容器类汇总说明 本文地址:http://techieliang.com/2017/ ...
- qt基础知识之类库概述
qt是用标准c++编写的跨平台开发类库,它对标准c++进行拓展,引入元对象系统.信号&槽.属性等特征 全局定义 容器类及对应迭代器 qt的模块化体系,分为 基本模块和拓展模块,一个模块通常就是 ...
- Qt类库介绍
QT类库 QT核心特点 QT是一个跨平台开发的类库. QT的元对象编译器MOC是一个预处理器,在源程序被编译前先将这些QT特性的程序转为标准的C++兼容的形式,然后再有标准的C++编译器进行编译.也就 ...
- QtCore Module's Classes
Qt Core C++ Classes Provides core non-GUI functionality. More... Reference These are links to the AP ...
- QT5:先导篇 数据类型
一.简介 二.字符串类(QString) 三.日期类(QData) 四.时间类(QTime) 五.顺序容器类 Qt的顺序容器类有QList QLinkedList QVector QStack QQ ...
- 1.QT中的容器QVector,QList,QSet,QMap,QQueue,QStack,QMultiMap,QSingleList等
1 新建一个项目 在pro文件中只需要加上CONFIG += C++11 main.cpp #include <QMap> int main() { QMap<int,QStrin ...
- 1.QT该容器QVector,QList,QSet,QMap,QQueue,QStack,QMultiMap,QSingleList等待
1 新建一个项目 在pro文件里仅仅须要加上CONFIG += C++11 main.cpp #include <QMap> int main() { QMap<int,QStri ...
随机推荐
- Talented Chef ZOJ - 3778
As we all know, Coach Gao is a talented chef, because he is able to cook M dishes in the same time. ...
- POJ 1308 Is It A Tree?和HDU 1272 小希的迷宫
POJ题目网址:http://poj.org/problem?id=1308 HDU题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=1272 并查集的运用 ...
- 海瑞菌的web前端学习直播间
这是本人的web前端学习直播间 一般每天晚上10点--12点为直播时间...以web前端开发为主. 若设备无法打开,请点击链接进入:https://www.huya.com/14958154 setT ...
- STM32开发 -- 4G模块开发详解(转)
STM32开发 -- 4G模块开发详解(1) STM32开发 -- 4G模块开发详解(2) STM32开发 -- 4G模块开发详解(3) STM32开发 -- 4G模块开发详解(4)
- sql 思路
先 django 定好sql框架 再 sqlalchemy 根据框架写...
- Mysql 存储过程中使用多游标
Mysql 存储过程中使用多游标 drop procedure IF EXISTS test_proc_1; create procedure test_proc_1() begin ; ) ; ) ...
- 【题解】Luogu P2146 [NOI2015]软件包管理器
题面:https://www.luogu.org/problemnew/lists?name=2146 这道题要用树链剖分,我博客里有对树链剖分的详细介绍 这道题就是树链剖分的模板,详细解释见程序. ...
- Vue 基础精讲
Vue 基础精讲 Vue 官方文档:https://cn.vuejs.org/v2/guide/ VUE 实例 每个组件都是一个 vue 的实例. 一个 vue 项目是由实例组成的. vue 实例上有 ...
- 08: vue组件
1.1 初识组件 1.什么是组件 1. Html中有组件,是一段可以被复用的结构代码 2. Css中有组件,是一段可以被复用的样式 3. Js中有组件,是一段可以被复用的功能 4. Vue中也有组件, ...
- 强大的shell(一键redis,mysql,php,openresty,jdk)
前序 集成了一键安装离线包redis,mysql,php,openresty,jdk,系统优化等脚本, 一个shell搞掂. JDK:自动识别本地安装包,自动解压,部署,配置环境变量. REDIS:自 ...