【qt】容器的用法

简介: 【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的顺序出队列:

总结:

容器可以理解是一个用来装数据的盒子。

重要的是我们要知道要用什么样的盒子,装什么样的数据。

至于增删改查的用法,知一遍知其二。

所以说应用场景一定要深刻理解。

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

相关文章
|
8天前
|
存储 安全 算法
Qt QSet 详解:从底层原理到高级用法
Qt QSet 详解:从底层原理到高级用法
213 0
|
8天前
|
存储 安全 算法
Qt QStack 详解:从底层原理到高级用法
Qt QStack 详解:从底层原理到高级用法
81 0
|
8天前
|
存储 C++ 开发者
C++ Qt开发:使用顺序容器类
当我们谈论编程中的数据结构时,顺序容器是不可忽视的一个重要概念。顺序容器是一种能够按照元素添加的顺序来存储和检索数据的数据结构。它们提供了简单而直观的方式来组织和管理数据,为程序员提供了灵活性和性能的平衡。
85 3
|
8天前
|
API 容器
Qt中常用容器组控件介绍和实操-2
Qt中常用容器组控件介绍和实操
|
8天前
|
容器 内存技术
Qt中常用容器组控件介绍和实操-1
Qt中常用容器组控件介绍和实操
|
8天前
|
存储 索引 容器
【qt】联合容器和集合容器
【qt】联合容器和集合容器
13 2
|
8天前
|
算法 API 开发者
【Qt UI相关】Qt中如何控制 窗口的最大化、最小化和关闭按钮?一文带你掌握用法
【Qt UI相关】Qt中如何控制 窗口的最大化、最小化和关闭按钮?一文带你掌握用法
183 1
|
8天前
|
存储 安全 算法
Qt QQueue 详解:从底层原理到高级用法
Qt QQueue 详解:从底层原理到高级用法
131 0
|
8天前
|
存储 缓存 安全
Qt QLinkedList 详解:从底层原理到高级用法
Qt QLinkedList 详解:从底层原理到高级用法
54 0
|
8天前
|
存储 安全 算法
Qt QVector 详解:从底层原理到高级用法
Qt QVector 详解:从底层原理到高级用法
83 0

推荐镜像

更多