【qt】容器的用法

一.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的顺序出队列:
在这里插入图片描述

总结:

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

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

相关推荐

  1. QT QByteArray

    2024-05-09 22:54:01       10 阅读
  2. Qt5】QList

    2024-05-09 22:54:01       43 阅读
  3. QT之QMessageBox

    2024-05-09 22:54:01       32 阅读
  4. qt 定时器

    2024-05-09 22:54:01       42 阅读
  5. QT及C++中引用和意义

    2024-05-09 22:54:01       15 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-05-09 22:54:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-09 22:54:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-09 22:54:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-09 22:54:01       20 阅读

热门阅读

  1. Linux-笔记 Makefile简单入门

    2024-05-09 22:54:01       13 阅读
  2. 双指针 Leetcode 151 反转字符串中的单词

    2024-05-09 22:54:01       13 阅读
  3. Softmax和Sigmoid

    2024-05-09 22:54:01       13 阅读
  4. deepstream std mean 对应的计算方法

    2024-05-09 22:54:01       13 阅读
  5. 单例模式析构时持久化

    2024-05-09 22:54:01       12 阅读
  6. 蓝桥杯备战3.日期识别——map

    2024-05-09 22:54:01       14 阅读