【qt】容器的用法

容器目录

  • 一.QVertor
    • 1.应用场景
    • 2.增加数据
    • 3.删除数据
    • 4.修改数据
    • 5.查询数据
    • 6.是否包含
    • 7.数据个数
    • 8.交换数据
    • 9.移动数据
    • 10.嵌套使用
  • 二.QList
    • 1.应用场景
    • 2.QStringList
  • 三.QLinkedList
    • 1.应用场景
    • 2.特殊点
    • 3.用迭代器来变量
  • 四.QStack
    • 1.应用场景
    • 2.基本用法
  • 五.QQueue
    • 1.应用场景
    • 2.基本用法
  • 总结:

一.QVertor

1.应用场景

QVertor的底层实现是数组,所以说它的查询速度贼快
但是插入和删除就非常慢,需要移动大量的数据

因此你需要查询快,同时不怎么插入和删除,那么QVertor你值得拥有

2.增加数据

尾部添加:1.<< 2.append 3.push_back
头部添加: push_front
任意位置添加:insert(位置,数据)

在这里插入图片描述
运行结果:
在这里插入图片描述

3.删除数据

remove(下标号)
removeOne(数据值)
takeAt(下标号)

在这里插入图片描述
运行结果:
在这里插入图片描述

4.修改数据

因为底层是数组,可以通过下标访问进行修改
可以通过replace(下标号,值)修改

在这里插入图片描述
运行结果:
在这里插入图片描述

5.查询数据

可以通过下标直接查询
还可以通过indexOf(数据)获取数据的下标值

在这里插入图片描述
运行结果:
在这里插入图片描述

6.是否包含

contains(数据)

在这里插入图片描述
运行结果:
在这里插入图片描述

7.数据个数

count(数据),括号里面的数据在容器中有几个
count(),该容器总的个数

在这里插入图片描述
运行结果:
在这里插入图片描述

8.交换数据

swapItemsAt(下标号,下标号)

在这里插入图片描述
运行结果:
在这里插入图片描述

9.移动数据

move(下标号,下标号)

在这里插入图片描述
运行结果:
在这里插入图片描述

10.嵌套使用

容器里面再使用一个容器,相当于二维数组

在这里插入图片描述
运行结果:
在这里插入图片描述

二.QList

1.应用场景

QList的底层原理是指针数组,本质上也是一个数组,只不过里面放在指针,指针指向真正的数据。
查询和QVector差不多,但是插入和删除要快一些

所以没做特殊要求时,一般用QList

有了QVector的前车之见,现在就简单了,增删改查的接口基本一样,记住一套用法就足够了。
如果还想知道更多可以在Qt里鼠标放在容器上,按F1进入在线文档查看。

2.QStringList

上节课咱们的字符串分隔符split就是返回的QStringList容器来装分割后的字符串。
QStringList是QList< QString >的子类,其实差不多,只是为了方便。

三.QLinkedList

1.应用场景

QLinkedList的底层实现是双向链表,这样插入和删除的速度就非常快,但是查询慢。

因此需要大量查询的时候,可以用QLinkedList

2.特殊点

  • 因为底层不是数组,所以不能使用下标符进行访问了。
  • 所以说对一些需要下标号位置的接口就不能使用了
    如:remove()不能通过下标的方式,takeAt()等等
  • insert插入只能使用迭代器进行插入

在这里插入图片描述
运行结果:
在这里插入图片描述

3.用迭代器来变量

在这里插入图片描述
运行结果:
在这里插入图片描述
c++里面迭代器你们应该都知道吧。我就不讲了,以后我可能会出c++的教程,但是可能有点久哦,俏皮笑。

四.QStack

1.应用场景

底层实现是栈,是一种特殊的顺序表,先进后出,类似于这样
在这里插入图片描述

2.基本用法

进栈是1,2,3进的
在这里插入图片描述
出是3,2,1出的:
在这里插入图片描述

五.QQueue

1.应用场景

底层的实现机制是队列,这个在现实生活中就非常常见了,就类似于我们生活中的排队。

先来后到,先进先出

2.基本用法

1,2,3的顺序排序进队
在这里插入图片描述
1,2,3的顺序出队列:
在这里插入图片描述

总结:

容器可以理解是一个用来装数据的盒子。
重要的是我们要知道要用什么样的盒子,装什么样的数据。
至于增删改查的用法,知一遍知其二。
所以说应用场景一定要深刻理解。

路漫漫其修远兮,吾将上下而求索。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/608680.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【设计模式】JAVA Design Patterns——Abstract-document

&#x1f50d; 目的 使用动态属性&#xff0c;并在保持类型安全的同时实现非类型化语言的灵活性。 &#x1f50d; 解释 抽象文档模式使您能够处理其他非静态属性。 此模式使用特征的概念来实现类型安全&#xff0c;并将不同类的属性分离为一组接口 真实世界例子 考虑由多个部…

【Linux】在Linux中执行命令ifconfig, 报错-bash:ifconfig: command not found解决方案

一、报错信息 ifconfig 报错-bash:ifconfig: command not found 同时&#xff0c;通过ip addr查看&#xff0c;也看不到IP信息 二、解决方案 找到ifcfg-ens0文件&#xff0c;此文件的目录在/etc/sysconfig/network-scripts目录下 命令&#xff1a;cd /etc/sysconfig/network…

89C52单片机+ESP8266做的物联网+反馈 e4a手机客户端源程序

资料下载地址&#xff1a;89C52单片机ESP8266做的物联网反馈 e4a手机客户端源程序 MCU是89C52单片机 WiFi模块是ESP8266 其他 8路继电器 电源模块 使用贝壳物联做服务器 还有客户端。 也可以用花生壳做内网穿透&#xff0c;8266做服务器&#xff0c;也可以实现物联以及反馈&a…

vue多选功能

废话不多说&#xff0c;直接上代码&#xff01;&#xff01;&#xff01; <template><div class"duo-xuan-page"><liv-for"(item, index) in list":key"index"click"toggleSelection(item)":class"{ active: sel…

[前后端基础]图片详解

[前后端基础]图片传输与异步-CSDN博客 https://juejin.cn/post/6844903782959022093#heading-3 base64、file和blob用JS进行互转的方法大全【前端】_js base64转blob-CSDN博客 后端存储方式 对于第一种存储方式&#xff0c;我们前端直接将存储路径赋值给 src 属性即可轻松显示。…

react项目中封装一个通用的边界Boundary

# Boundary 通用的边界,同时是一个Suspense 和一个 ErrorBoundary 正常情况不直接用,使用一下几个封装好的: -Boundary.FullSizeLoading: 占满父容器全部高度,居中显示等待动画; -Boundary.Loading: 占满一行,显示一个普通尺寸的等待动画; -Boundary.Blank: 什么都不显示…

Hadoop3:HDFS的Shell操作(常用命令汇总)

一、简介 什么是HDFS的Shell操作&#xff1f; 很简单&#xff0c;就是在Linux的终端&#xff0c;通过命令来操作HDFS。 如果&#xff0c;你们学习过git、docker、k8s&#xff0c;应该会发现&#xff0c;这些命令的特点和shell命令非常相似 二、常用命令 1、准备工作相关命令…

let命令

let 命令 let 与 var 二者区别&#xff1a; 作用域不同&#xff1a;变量提升&#xff08;Hoisting&#xff09;&#xff1a;临时性死区重复声明&#xff1a; 联系&#xff1a;举例说明&#xff1a; 块级作用域 块级作用域的关键字使用 var&#xff08;无块级作用域&#xff09;…

x64dbg中类似于*.exe+地址偏移

在CE和xdb中&#xff0c;形如*.exe数字偏移形式的地址被称为模块地址&#xff0c;CE附加到进程后点击查看内存&#xff0c;显示如下图 这种地址学名叫做模块地址&#xff0c;在x64dbg中显示如下图&#xff1a; CE中可以关闭&#xff0c;从而显示绝对的虚拟地址&#xff0c;如下…

Hive-URL解析函数

Hive-URL解析函数 1.实际工作需求 2.URL的基本组成 3.Hive中的Url解析函数 parse_url函数 parse_url_tuple函数

VScode通过ssh远程连接服务器被拒绝:permission denied, please try again

使用场景&#xff1a; 使用windows系统下的vscode远程连接服务器的linux系统&#xff0c;终端提示permission denied, please try again,但是使用cmd是可以远程登录的。 解决办法&#xff1a; 前提条件windows端的vscode安装了ssh远程连接的相关插件Remote - SSH&#xff0c;…

红米Turbo3小米平板6SPro澎湃OS系统强解BL锁-跳小米社区绑定-刷ROOT权限

红米Turbo3小米平板6SPro这2款设备都出厂为澎湃OS系统&#xff0c;官方提供都是小米社区申请解锁权限&#xff0c;然后自己答题解锁&#xff0c;门槛非常高&#xff0c;想要玩机root的用户&#xff0c;都在堵在门外。还在这目前这两款机型官方并没有加入强制验证&#xff0c;在…

何为基差?股指期货的升水和贴水又怎么理解?

基差是一个金融术语&#xff0c;它指的是现货价格和期货价格之间的差额。在股指期货市场中&#xff0c;现货就是指实际的股票指数&#xff0c;而期货则是基于这个指数未来某个时间点的价格预期。基差可以是正的或负的&#xff0c;具体取决于期货价格是高于还是低于现货价格。 1…

机器人种类分析

2000年前&#xff0c;机器人主要应用于工业生产&#xff0c;俗称工业机器人&#xff0c;由示教器操控&#xff0c;帮助工厂释放劳动力&#xff0c;此时的机器人并没有太多智能而言&#xff0c;完全按照人类的命令执行动作&#xff0c;更加关注电气层面的驱动器、伺服电机、减速…

Springboot集成Netflix-ribbon、Consul实现负载均衡调用-09

Consul简介 Consul是一个开源的服务发现和配置管理工具&#xff0c;具有跨平台、运行高效等特点。它由HashiCorp公司开发&#xff0c;并使用Go语言编写。Consul主要用于实现分布式系统中的服务发现、健康检查、键值存储等功能。 核心功能 服务发现&#xff1a;Consul通过DNS…

JavaScript百炼成仙自学笔记——13

函数七重关之六&#xff08;“new”一个函数&#xff09; 看个代码&#xff1a; function hello(){console.log(this); } 1、this&#xff1a;也是JavaScript中的一个关键字&#xff0c;永远指向当前函数的调用者 解释一下,有两层意思&#xff1a; ①this要嘛不出现&#…

基于SSM的“环卫工管理平台”的设计与实现(源码+数据库+文档+PPT)

基于SSM的“环卫工管理平台”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SSM 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统总体设计图 注册 首页 后台登录 后台页面 环卫工管理 摘…

mac安装 php7.1/apache

1. 安装php 7.1 brew tap shivammathur/php 查看可安装版本 brew search php 安装指定版本&#xff08;禅道适用PHP运行环境(7.0/7.1/7.2版本)&#xff09; brew install php7.1 环境配置 vim ~/.zshrc export PATH"/usr/local/opt/php7.1/bin:$PATH" export …

使用Postman进行接口测试---解析postman页面

一、Postman 是一款流行的 API 测试工具&#xff0c;它提供了丰富的功能来帮助开发者测试和调试 API。以下是 Postman 页面上的主要功能及其含义和作用&#xff1a; 1. 请求详情&#xff08;Request Details&#xff09; &#xff1a; - 方法&#xff08;Method&#xff0…

【读论文】Gaussian Grouping: Segment and Edit Anything in 3D Scenes

Gaussian Grouping: Segment and Edit Anything in 3D Scenes 文章目录 Gaussian Grouping: Segment and Edit Anything in 3D Scenes1. What2. Why3. How3.1 Anything Mask Input and Consistency3.2 3D Gaussian Rendering and Grouping3.3 Downstream: Local Gaussian Editi…