广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >Qt常用容器类的使用
  • 782
分享到

Qt常用容器类的使用

2024-04-02 19:04:59 782人浏览 泡泡鱼
摘要

目录1.概述2.顺序容器类2.1QList2.2QLinkedList2.3QVector2.4QStack2.5QQueue3.关联容器类3.1QSet3.2QMap3.3QMul

1.概述

Qt提供了多个基于模板的容器类,这些类可以用于存储指定类型的数据项,例如QStringList就是从QList<QString>继承的,可以实现对字符串的增、删等操作。

Qt的容器类分为顺序容器和关联容器。

Qt的容器类比STL更轻巧、安全和容易使用,并且还是线程安全的。

例:定义一个QList<QString> 容器

    QList<QString> str;
    str.append("A");
    str.append("B");
    str.append("C");

2.顺序容器类

Qt顺序容器类如下所示:

  • QList
  • QLinkedList
  • QVector
  • QStack
  • QQueue

2.1QList

比较常用的容器类,以数组列表的形式实现,在前、后添加数据非常快。以下为常用方法。

插入:insert()

删除:removeAt()

替换:replace()

移动:move()

添加:append()

2.2QLinkedList

是链式列表,数据项不是连续的内存存储,基于迭代器访问数据项,插入和删除数据项操作时间相同

2.3QVector

提供动态数组的功能,与QList接口基本相同,数据项是连续存储的。

2.4QStack

类似于堆栈,后入先出的特点,push()和pop()用于数据进出栈。

    QStack<int> stack;
    stack.push(1);
    stack.push(2);
    stack.push(3);
 
    while(!stack.isEmpty())
        stack.pop();

2.5QQueue

类似于队列,先入先出的特点,enqueue()和dequeue()用于操作数据进出队列。

    QQueue<int> queue;
    queue.enqueue(1);
    queue.enqueue(2);
    queue.enqueue(3);
 
    while(!queue.isEmpty())
        queue.dequeue();

3.关联容器类

关联容器如下所示

  • QMap
  • QMultiMap
  • QHash
  • QMultiHash
  • QSet

3.1QSet

基于散列表的集合模板类,存储数据的顺序不定,查找速度非常快。

3.2QMap

QMap存储数据按照键的顺序来存储的,一个键映射一个值。

    QMap<int,int> map;
    map[1] = 1;
    map[2] = 2;
    map[3] = 3;
 
    //或者使用insert
    QMap<int,int> map;
    map.insert(1,1);
    map.insert(2,2);
    map.insert(3,3);

查找

int num = map[1];
 
//或者
int num2 = map.value[2];

3.3QMultiMap

是QMap的子类,一个键可以对应多个值。

    QMultiMap<int,int> map;
    map.insert(1,1);
    map.insert(1,2);
    //map.size() == 2 

3.4QHash

基于散列表来实现的,查找速度非常快。

和QMap比较

  • QHash查找速度更快
  • QMap是按键顺序排序的,QHash数据项任意排序

3.5QMultiHash

QMultiHash是QHash的子类,用于处理多值映射的类,与QMultiMap类似。

到此这篇关于Qt常用容器类的使用的文章就介绍到这了,更多相关Qt 容器类内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Qt常用容器类的使用

本文链接: https://www.lsjlt.com/news/152728.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Qt常用容器类的使用
    目录1.概述2.顺序容器类2.1QList2.2QLinkedList2.3QVector2.4QStack2.5QQueue3.关联容器类3.1QSet3.2QMap3.3QMul...
    99+
    2022-11-13
  • Qt常用容器类如何使用
    这篇文章主要介绍“Qt常用容器类如何使用”,在日常操作中,相信很多人在Qt常用容器类如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Qt常用容器类如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-07-02
  • Qt容器类怎么使用
    本篇内容主要讲解“Qt容器类怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Qt容器类怎么使用”吧!一. QList类,QLinkedList类 和 QVector类QList类、QLin...
    99+
    2023-07-04
  • Qt学习之容器类的使用教程详解
    目录一. QList类,QLinkedList类 和 QVector类(1)QList类(2) QLinkedList 类(3) QVector 类二. QMap类和QHash类1 ...
    99+
    2022-12-08
    Qt容器类使用 Qt容器类
  • qt常用类有哪些
    Qt是一个跨平台的应用程序开发框架,提供了丰富的类库来帮助开发人员快速开发应用程序。以下是一些常用的Qt类:1. QWidget:用...
    99+
    2023-08-16
    qt
  • Qt学习之容器如何使用
    今天小编给大家分享一下Qt学习之容器如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Qt容器Qt容器主要优点就是在所有...
    99+
    2023-07-05
  • C++中常见容器类如何使用
    本篇内容主要讲解“C++中常见容器类如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C++中常见容器类如何使用”吧!综合示例1. vector:动态数组,支持随机访问#include&nb...
    99+
    2023-07-05
  • QT线程池的使用(QThreadPool类和QRunnable类)
    目录QThreadPool类主要属性主要成员函数QRunnable类主要成员函数程序实例QThreadPool类 用来管理 QThreads。此类中的所有函数都是线程安全的. 主要属...
    99+
    2023-05-17
    QT线程池 QT QThreadPool类 QT QRunnable类
  • Qt 关于容器的遍历迭代器的使用问题小结
    目录前言:STL风格迭代器:foreach关键字:其他:前言: Qt(官方发音 [kju:t],音同 cute)是一个跨平台的 C++ 开发库,主要用来开发图形用户界面(Graphi...
    99+
    2022-11-13
  • Qt数据库(5) - 使用SQL Model类
    Qt Version 5.14.0 除了QSqlQuery,Qt还提供了三个高级类用来访问数据库,分别为QSqlQueryModel、QSqlTableModel、QSqlRelationalTableModel。 QSqlQueryMo...
    99+
    2020-08-08
    Qt数据库(5) - 使用SQL Model类
  • C++常见容器如何使用
    本文小编为大家详细介绍“C++常见容器如何使用”,内容详细,步骤清晰,细节处理妥当,希望这篇“C++常见容器如何使用”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.概述C++容器属于STL(标准模板库)中的一部...
    99+
    2023-07-05
  • Java常用类之System类的使用指南
    目录1.System类1. arraycopy(…)方法2. currentTimeMillis()方法3. gc()方法4. exit(int status)方法2....
    99+
    2022-11-13
  • 云服务器的常用内容
    1. 弹性计算实例 弹性计算实例是云服务器的基本组成部分,它提供了虚拟的计算资源,包括处理器、内存、存储和网络等。用户可以根据自己的需求选择不同规格的实例,如CPU核数、内存大小和存储容量等。 2. 操作系统 云服务器通常支持多种操作系统...
    99+
    2023-10-28
    常用 服务器 内容
  • Qt的遍历迭代器如何使用
    今天小编给大家分享一下Qt的遍历迭代器如何使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。前言:Qt(官方发音 [kju:...
    99+
    2023-06-29
  • Qt QString的使用实现
    QString则使用隐式共享,又称回写复制。当两个对象共享同一份数据时,数据内容不改变,则不进行数据的复制,即将深拷贝和浅拷贝结合起来使用。 QString使用时在连续的内存块上保存...
    99+
    2022-11-13
  • Qt的槽如何使用
    这篇文章主要讲解了“Qt的槽如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Qt的槽如何使用”吧!一、建立槽和按钮之间的连接connect(信号发送者,发送的信号,信号接收者,信号接收...
    99+
    2023-07-04
  • Qt图片绘图类之QPixmap/QImage/QPicture怎么使用
    这篇文章主要介绍了Qt图片绘图类之QPixmap/QImage/QPicture怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Qt图片绘图类之QPixmap/QImage/QPicture怎么使用文章都...
    99+
    2023-07-05
  • 【微信小程序 | 实战开发】常用的视图容器类组件介绍和使用(1)
    个人名片: 🐼作者简介:一名大二在校生,喜欢编程🎋 🐻‍❄️个人主页🥇:小新爱学习. 🐼个人WeChat:hmmwx53 🕊️系列专栏:🖼️ 零基础学Java——小白入门必备 重...
    99+
    2023-09-03
    微信小程序 小程序 visualstudio html 前端
  • Python中Collections模块的Counter容器类使用教程
    1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict、set、list、tuple以外的一些特殊的容器类型,分别是: OrderedDict类:排序...
    99+
    2022-06-04
    容器 模块 教程
  • Qt中QStringList与QString的常用方法总结
    目录QString 转 QByteArrayQByteArray 转 QStringQStringList 转 QStringQStringList 其他常用方法QString 其他...
    99+
    2022-12-08
    Qt QStringList QString方法 Qt QStringList方法 Qt QString方法
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作