Qt常用容器类如何使用
导读:本文共1671字符,通常情况下阅读需要6分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 1.概述Qt提供了多个基于模板的容器类,这些类可以用于存储指定类型的数据项,例如QStringList就是从QList<QString>继承的,可以实现对字符串的增、删等操作。Qt的容器类分为顺序容器和关联容器。Qt的容器类比STL更轻巧、安全和容易使用,并且还是线程安全的。例:定义一个QList<QString> 容器QList<... ...
目录
(为您整理了一些要点),点击可以直达。Qt提供了多个基于模板的容器类,这些类可以用于存储指定类型的数据项,例如QStringList就是从QList<QString>继承的,可以实现对字符串的增、删等操作。
Qt的容器类分为顺序容器和关联容器。
Qt的容器类比STL更轻巧、安全和容易使用,并且还是线程安全的。
例:定义一个QList<QString> 容器
Qt顺序容器类如下所示:
QList
QLinkedList
QVector
QStack
QQueue
比较常用的容器类,以数组列表的形式实现,在前、后添加数据非常快。以下为常用方法。
插入:insert()
删除:removeAt()
替换:replace()
移动:move()
添加:append()
是链式列表,数据项不是连续的内存存储,基于迭代器访问数据项,插入和删除数据项操作时间相同
提供动态数组的功能,与QList接口基本相同,数据项是连续存储的。
类似于堆栈,后入先出的特点,push()和pop()用于数据进出栈。
类似于队列,先入先出的特点,enqueue()和dequeue()用于操作数据进出队列。
关联容器如下所示
QMap
QMultiMap
QHash
QMultiHash
QSet
基于散列表的集合模板类,存储数据的顺序不定,查找速度非常快。
QMap存储数据按照键的顺序来存储的,一个键映射一个值。
查找
是QMap的子类,一个键可以对应多个值。
基于散列表来实现的,查找速度非常快。
和QMap比较
QHash查找速度更快
QMap是按键顺序排序的,QHash数据项任意排序
QMultiHash是QHash的子类,用于处理多值映射的类,与QMultiMap类似。
Qt常用容器类如何使用的详细内容,希望对您有所帮助,信息来源于网络。