文章目录
- 1.QMap 详解
- 1.1 QMap 的介绍
- 1.2 QMap 的具体用法如下
- 1.3 QmultiMap类
- 2.QHash 详解
- 3. QMap 和 QHash 的对比
- 4. QVector 详解
1.QMap 详解
1.1 QMap 的介绍
🐧①
QMap<key,T>提供一个从类型为Key的键到类型为T的值的映射。通常,QMap存储的数据形式是一个键对应一个值,并且按照键Key的次序存储数据。
🐧② 为了能够支持一键多值的情况,QMap提供QMap<key,T>:insertMulti ()和QMap<key,T>::values ()函数。QMultiMap 类来实例化一个QMap对象。
1.2 QMap 的具体用法如下
- 🍎插入信息的方式:

- 🍎删除信息,直接通过 key 键删除

- 🍎遍历 QMap 类的两种迭代方式

- 🍎通过
key来找T,或者通过T来找key,注意在QMap中,可以通过值来找键的哦🐧

- 🍎对
T值进行修改,直接采取insert()进行插入覆盖即可

- 🍎查询是否包含某个键

- 🍎分别输出所有的
key和T值,放到QList中进行输出

1.3 QmultiMap类
- 例如一个学生有
学号、姓名、性别、年龄,这个时候就要用到一个键对应多个值的概念啦!直接用QmultiMap类即可。

2.QHash 详解
🐧①
QHash<Key,T>具有与QMap几乎完全相同的API。QHash 维护着一张哈希表(Hash Table),哈希表的大小与QHash的数据项的数目相适应。
🐧②QHash以任意的顺序组织它的数据。当存储数据的顺序无关紧要时,
建议使用QHash作为存放数据的容器。
🍎①QHash 存储数据,注意数据存入的顺序是任意的❗

🍎②用迭代器进行遍历 QHash

3. QMap 和 QHash 的对比
🐧Ⅰ. QHash 与 QMap 的功能差不多,但 QHash 的查找速度更快;
🐧Ⅱ.QMap 是按照键的顺序存储数据,而 QHash 是任意顺序存储的;
🐧Ⅲ.QMap 的键必须提供"<”运算符,而 QHash 的键必须提供“=="运算符和
一个名为 qHash()的全局散列函数。
4. QVector 详解
QVector <T>在相邻的内存当中存储给定数据类型T的一组数值。在一个QVector的前部或者中间位置进行插入操作的速度是很慢的,这是因为这样的操作将导致内存中的大量数据被移动,这是由QVector存储数据的方式决定的。
🍎①插入数据,有两种方式

🍎②求出 QVector中元素的个数,以及遍历所有元素

🍎③元素的删除,可以控制删除一个区间的元素哦(只需要给出起始位置和删除的个数即可)🔍

🍎④判断容器是否包含某个元素

