ToB企服应用市场:ToB评测及商务社交产业平台

标题: C++ Qt开发:使用关联容器类 [打印本页]

作者: 自由的羽毛    时间: 2024-2-11 14:47
标题: C++ Qt开发:使用关联容器类
当我们谈论编程中的数据结构时,顺序容器是不可忽视的一个重要概念。顺序容器是一种能够按照元素添加的顺序来存储和检索数据的数据结构。它们提供了简单而直观的方式来组织和管理数据,为程序员提供了灵活性和性能的平衡。
Qt 中提供了丰富的容器类,用于方便地管理和操作数据。这些容器类涵盖了各种不同的用途,从简单的动态数组到复杂的映射和集合。本章我们将主要学习关联容器,主要包括 QMap ,QSet和 QHash,它们提供了键值对存储和检索的功能,允许通过键来快速查找值。
1.1 QMap

QMap 是 Qt 中的有序关联容器,用于存储键值对,并按键的升序进行排序。以下是关于 QMap 的概述:
1.1.1 特点和用途

1.1.2 函数和功能

以下是关于 QMap 常用函数及其功能的总结:
函数功能insert(const Key &key, const T &value)向 QMap 中插入键值对。insertMulti(const Key &key, const T &value)向 QMap 中插入允许相同键的多个值。remove(const Key &key)移除指定键的元素。value(const Key &key) const返回指定键的值。contains(const Key &key) const判断是否包含指定键。isEmpty() const判断 QMap 是否为空。size() const返回 QMap 中键值对的数量。clear()清空 QMap 中的所有元素。keys() const返回 QMap 中所有键的列表。values() const返回 QMap 中所有值的列表。begin()返回指向 QMap 开始位置的迭代器。end()返回指向 QMap 结束位置的迭代器。constBegin() const返回指向 QMap 开始位置的常量迭代器。constEnd() const返回指向 QMap 结束位置的常量迭代器。find(const Key &key) const返回指向 QMap 中指定键的迭代器。lowerBound(const Key &key) const返回指向 QMap 中不小于指定键的第一个元素的迭代器。upperBound(const Key &key) const返回指向 QMap 中大于指定键的第一个元素的迭代器。count(const Key &key) const返回指定键的数量。toStdMap() const将 QMap 转换为 std::map。这些函数提供了对 QMap 中键值对的插入、删除、查找和遍历等操作。根据需求选择适当的函数以满足操作要求。
1.1.3 应用案例

正如如下代码所示,我们提供了QMap字典类型的关联数组,该数组中一个键映射对应一个值,QMap容器是按照顺序存储的,如果项目中不在意顺序可以使用QHash容器,使用QHash效率更高些。
[code]#include #include #include #include #include #include int main(int argc, char *argv[]){    QCoreApplication a(argc, argv);    QMap map;    map["1001"] = "admin";    map["1002"] = "guest";    map.insert("1003","lyshark");    map.insert("1004","lucy");    // map.remove("1002");    // 根据键值对查询属性    std::cout




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4