QList、QVector、QMap容器类
QList、QVector、QMap容器类
QList<QString> list,创建一个列表对象,存储一列QString类型的值。
list<<str<<str1<<str2通过操作符 "<<" 将字符串存储在该列表中
函数QList::append(const T&value)在列表末尾插入值。
QList<QString> list;
list.append("one");
list.append("two");
list.append("three");
// list: ["one", "two", "three"]
- 函数QList::append(const QList<T>&value)在列表末尾插入一个列表
- 函数QList::at(int i)返回列表中第i+1个元素,list.at(0)为第一个元素
- 函数QList::back()返回列表中的最后一个元素
- 函数QList::push_back(const T &value)把指定元素插入到列表末尾
- 函数QList::pop_back()把最后一个元素从列表中删除
- 函数QList::begin()返回STL样式迭代器指向列表中的第一个元素(简单来说就是第一个元素的指针)
- 函数QList::end()返回列表中的最后一个元素的后一个元素指针(iterator类型指针)
- 函数QList::rbegin()返回列表中的最后一个元素指针
- 函数QList::clear()移除列表所有元素
- 函数QList::contains(const T &value)判断列表中是否包含指定元素
- 函数QList::count()返回列表中元素的个数
- 函数QList::count(const T &value)返回列表中指定元素的个数
- 函数QList::empty()如果列表元素为空则返回true
- 函数QList::endsWith(const T &value)判断指定元素是否是最后一个元素
- 函数QList::erase(iterator pos)移除指定元素
- 函数QList::mid(int pos, int length = -1)返回一个子list列表,如果length = -1则子list包含父list从索引位置到末尾的所有元素,否则子list包含父list从索引位置数起,lenght个元素
QVector用法基本和QList用法相同
区别:一个是随机存取,一个是连续存取,所以list插入删除很快,vector查询很快。
但是vector有个地方一定要注意:
vector:如果你添加元素,但是vector的容量(是容量,不是大小,容量比大小大,会预先多分配空间)不够的话,系统就会重新分配一段内存,然后把原先的内容全部拷贝过去,然后删除原先的内容。所以,如果你设定了一个纸箱vector的指针,或者说迭代器,在你添加元素之后,这个指针(迭代器)需要重新计算
QMap<Key &key, const T &value>
示例:
QMap<QString, int> map;
map["one"] = 1;//使用重载符[]往map列表插入一个元素
key = "one",value = 1;
map.insert("twelve", 12);//往map列表插入一个元素
//创建一个关联map的迭代器,遍历map列表元素
QMapIterator<QString,int> i(map);
while (i.hasNext()) {
i.next();
qDebug<< i.key() << ": " << i.value() << endl;
}
QList、QVector、QMap容器类相关推荐
- 百科不全书之QT常用函数
参考链接: 璎珞qc:Qt之QImage类. 沙振宇:Qt输出打印信息的日志到文件(两种方式). tandesir:Qt测算程序运行时间. 半生瓜のblog [QT]QT容器 百科不全书之QT常用函数 ...
- 1.QT中的容器QVector,QList,QSet,QMap,QQueue,QStack,QMultiMap,QSingleList等
1 新建一个项目 在pro文件中只需要加上CONFIG += C++11 main.cpp #include <QMap> int main() { QMap<int,QStrin ...
- 遍历qvector_Qt容器类——1. QList类、QLinkedList类和QVector类
在开发一个较高性能需求的应用程序时,程序员会比较关注这些容器类的运行效率,表2.1列出了QList.QLinkedList和QVector容器的时间复杂度比较. 1.QList类 QList是迄今为止 ...
- Qt工作笔记-QVector与QMap查找效率实战
因为项目使用QVector,太慢了,听说QMap比QVector查找时快,所以写一个小程序试试: 从30000个数据中找5000个 程序运行截图如下: QVector QMap 一样的数据,找一样的数 ...
- Qt工作笔记-QList (链表) QVector (数组)【转载】
原文地址:https://blog.csdn.net/qq_33266987/article/details/53333373 C++中的list 和 vector (1). stl提供了三个最基本的 ...
- QList (链表) QVector (数组)
QList (链表) & QVector (数组) C++中的list和vector stl提供了三个最基本的容器:vector/list/deque. vector和built-in数组类似 ...
- Qt总结之九:QMap中嵌套QList
前言 QMap和QList都支持 QList<T>::iterator 迭代器 一.初识 #include <QtCore/QCoreApplication>// #inclu ...
- Qt——容器类(译)
注:本文是我对Qt官方文档的翻译,错误之处还请指正. 原文链接:Container Classes 介绍 Qt库提供了一套通用的基于模板的容器类,可以用这些类存储指定类型的项.比如,你需要一个大小可变 ...
- Qt容器类(总结)(新发现的QQueue和QStack,注意全都是泛型)
Introduction Qt库提供了一组基于模板的一般化的容器类.这些容器可以存储指定的类型的元素.例如,如果你需要一个可变大小的Qstring数组,可以用QVector<QString ...
最新文章
- Android Dialog 关闭的时候标题栏闪烁一下的处理方法
- 一次愉快的 bug 修复经历
- C++求数组中的逆序对
- Linux下清理内存和Cache方法
- Android FrameWork——Touch事件派发过程详解
- mysql分页查询limit_MySQL查询语句(where,group by,having,order by,limit)
- 【基本算法--高精度计算】大整数相加
- java 混淆 js_Vue javascript和css混淆
- 分词之后的如何做特征选择_抑郁症康复之后,如何避免复发?我们可以从这几方面来做...
- poj 1459-Power Network解题报告
- python相对路径-Python中的绝对路劲和相对路径
- caffe 实践程序2——用细分的方法实现caffe中cifar100的识别
- 处理数码照片的计算机需要配置,用Photoshop处理数码照片_计算机软件及应用_IT计算机_专业资料.doc...
- 前端-优雅的VueJS
- 庆科EMW3080 mxos开发环境搭建helloworld编译
- 通俗科普:弦论要求空间必须是25维的解释
- lvs负载均衡之配置lvs-tun模式的httpd负载集群
- 找出字符串中第一个不重复的字符
- android 4g wifi热点,WIFI热点部署+
- 如何高效定义和验证restful请求的参数