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

总结:

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

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

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

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

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

相关文章
|
6月前
|
存储 安全 算法
Qt QSet 详解:从底层原理到高级用法
Qt QSet 详解:从底层原理到高级用法
651 0
|
6月前
|
存储 安全 算法
Qt QStack 详解:从底层原理到高级用法
Qt QStack 详解:从底层原理到高级用法
230 0
|
3月前
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Group Box的使用及说明
248 3
|
3月前
|
容器
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
【Qt 学习笔记】Qt常用控件 | 容器类控件 | Tab Widget的使用及说明
87 2
|
5月前
|
存储 人工智能 C++
map容器在C++中的具体用法以及相关注意点
map容器在C++中的具体用法以及相关注意点
50 1
|
6月前
|
容器 内存技术
Qt中常用容器组控件介绍和实操-1
Qt中常用容器组控件介绍和实操
|
6月前
|
存储 索引 容器
【qt】联合容器和集合容器
【qt】联合容器和集合容器
54 2
|
6月前
|
API 容器
Qt中常用容器组控件介绍和实操-2
Qt中常用容器组控件介绍和实操
|
6月前
|
存储 C++ 容器
C++标准库容器的基本用法
C++标准库容器的基本用法
51 0
|
6月前
|
算法 API 开发者
【Qt UI相关】Qt中如何控制 窗口的最大化、最小化和关闭按钮?一文带你掌握用法
【Qt UI相关】Qt中如何控制 窗口的最大化、最小化和关闭按钮?一文带你掌握用法
1175 1