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 ...
随机推荐
- EditPlus配置Java
--Java Compile-- 命令:D:\Program Files\Java\jdk1.7.0_79\bin\javac.exe 参数:$(FileName) 初始目录:$(FileDir) 动 ...
- Java中的ASCII码与Unicode码
先上代码 后续更新 public class Unicode { public static void main(String[] args) { char ch1 = 'c'; char ch2 = ...
- mxnet下如何查看中间结果
https://blog.csdn.net/disen10/article/details/79376631 固定权重:https://www.cnblogs.com/chenyliang/p/678 ...
- Delphi 如何访问监控摄像头?
源: Delphi 如何访问监控摄像头?
- 在idea中不出现大波浪的设置
在idea中如果有重复代码时候,就会出现大波浪 ,然后,现在可以设置 Duplicated Code 的对号去掉就可以没有大波浪
- nginx负载均衡六种策略
Nginx服务器之负载均衡策略(6种) 一.关于Nginx的负载均衡 在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的 ...
- Golang并发编程进程通信channel了解及简单使用
概念及作用 channel是一个数据类型,用于实现同步,用于两个协程之间交换数据.goroutine奉行通过通信来共享内存,而不是共享内存来通信.引用类型channel是CSP模式的具体实现,用于多个 ...
- Java 中的多线程你只要看这一篇就够了
引 如果对什么是线程.什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内. 用多线程只有一个目的,那就是更好的利用cpu的资源,因为所有的多线程代码都可以用单线程来实现.说这个 ...
- 一道cf水题再加两道紫薯题的感悟
. 遇到一个很大的数除以另一个数时,可以尝试把这个很大的数进行,素数因子分解. . 遇到多个数的乘积与另一个数的除法时,求是否能整除,可以先求每一个数与分母的最大公约数,最后若分母数字为1,则证明可整 ...
- ODAC(V9.5.15) 学习笔记(四)TCustomDADataSet(5)
7.其他 名称 类型 说明 FindKey 类似于BDE的相关功能,在当前数据集中查找指定的记录 FindNearest 移动游标到最符合查找要求的第一条记录处 FindMacro 当前数据集中是否存 ...