QT5入门之24 -QT 容器
来源:互联网 发布:大数据分析技术 编辑:程序博客网 时间:2024/06/10 22:38
和标准STL一样,QT也有很多容器。
Qt 提供了顺序存储容器:QList,QLinkedList,QVector,QStack 和 QQueue。对于绝大多数应用程序,QList 是最好的选择。虽然它是基于数组实现的列表,但它提供了快速的向前添加和向后追加的操作。如果你需要链表,可以使用 QLinkedList。如果你希望所有元素占用连续地址空间,可以选择 QVector。QStack 和 QQueue 则是 LIFO 和 FIFO 的。
Qt 还提供了关联容器:QMap,QMultiMap,QHash,QMultiHash 和 QSet。带有“Multi”字样的容器支持在一个键上面关联多个值。“Hash”容器提供了基于散列函数的更快的查找,而非 Hash 容器则是基于二分搜索的有序集合。
QList:这是至今为止提供的最通用的容器类。它将给定的类型 T 的对象以列表的形式进行存储,与一个整型的索引关联。QList 在内部使用数组实现,同时提供基于索引的快速访问。我们可以使用 QList::append() 和 QList::prepend() 在列表尾部或头部添加元素,也可以使用 QList::insert() 在中间插入。相比其它容器类,QList 专门为这种修改操作作了优化。QStringList 继承自 QList。
QVector:用于在内存的连续区存储一系列给定类型的值。在头部或中间插入数据可能会非常慢,因为这会引起大量数据在内存中的移动。
容器的遍历:
QList<QString> list;list << "A" << "B" << "C" << "D";QList<QString>::iterator i;for (i = list.begin(); i != list.end(); ++i) { *i = (*i).toLower();}QLinkedList<QString> list;...QString str;foreach (str, list) { qDebug() << str;}
QList较为常用。
0 0
- QT5入门之24 -QT 容器
- QT5入门之6 - Qt提示对话框
- QT5入门之21 -QT读写注册表
- QT5入门之22 -QT状态栏
- QT5入门之23 -QT串口编程
- QT5入门之25 -QT 事件
- QT5入门之31-QT QListWidget
- QT5入门之32-QT QTtableWidget
- QT5入门之31-QT QTreeWidget
- QT5入门之1 - QT下载与安装
- QT5入门之3 - Qt Creator常用快捷键
- QT5入门之7 - Qt禁止最大化最小化
- QT5入门之19 -Qt c++11 支持
- QT5入门之19 -QT调用外部程序
- QT5入门之20 -QT读写ini文件
- 【Qt学习一】Qt入门之Qt5.3.2+vs2010(中文版)+opencv2.4.9配置与简单测试
- QT5 学习之路24---Qt 绘制系统简介
- Qt5菜鸟入门(1)qt时钟
- Android广播机制
- 依赖注入那些事儿
- 元器件小积累
- adb logcat 查看日志
- Git学习笔记
- QT5入门之24 -QT 容器
- django signal 拾遗
- Leetcode 199 Binary Tree Right Side View 二叉树右视图
- Java Collections.addAll() 与 ArrayList.addAll() 的区别
- 与幼儿的沟通
- 解读:在命令情况下使用Android NDK交叉编译工具
- 使用Objective-C的文档生成工具:appledoc
- dajngo.forms.widget-Media
- spring 文件上传