Qt提供了一组通用的基于模板的容器类。对比C++的标准模板库中的容器类,Qt的这些容器更轻量、更安全并且更容易使用。
Qt的容器类在速度、内存消耗和内联代码方面进行了优化。
存储在Qt容器中的数据必须是可赋值的数据类型,这种数据类型必须提供一个默认的构造函数,一个复制构造函数,一个赋值
操作运算符。
容器类 | 查 找 | 插 入 | 头部添加 | 尾部添加 |
QList | O(1) | O(n) | Amort.O(1) | Amort.O(1) |
QLinkedList | O(n) | O(1) | O(1) | O(1) |
QVector | O(1) | O(n) | O(n) | Amort.O(1) |
QList类:
QList
QSignalSpy、QStringList、QTestEventList。
QList成员函数:
void QList::append(const QList
QList list;
list.append("one");
list.append("two");
//list = {"one" "two"}
const T&QList :: at(int i)const //返回列表中索引的位置
QList :: iterator QList :: begin() //返回指向列表中的第一个元素
QList::const_iterator QList::cbegin() const //返回指向列表中的第一个const STL风格迭代器
void QList :: clear() //清空列表中所有元素
QList :: const_iterator QList :: constBegin()const //返回指向列表中第一个元素的const STL样式迭代器
QList :: const_iterator QList :: constEnd()const // 返回指向列表中最后一个元素之后的const STL样式迭代器
const T&QList :: constFirst()const //返回对列表中第一个元素的const引用。列表不能为空
int QList :: count(const T&value)const //返回列表中值的出现次数
QList :: const_reverse_iterator QList :: crbegin()const //返回一个const STL样式的反向迭代器,它以相反的顺序指向列表中的第一个元素
bool QList :: empty()const //它等效于isEmpty(),true
如果列表为空则返回
QList :: iterator QList :: end() //返回指向列表中最后一个元素之后的STL样式迭代器
void QList :: insert(int i,const T&value) //在列表中的索引位置i处插入值。如果i <= 0,则该值将添加到列表中。
QList list;
list << "alpha" << "beta" << "delta";
list.insert(2, "gamma");
// list: ["alpha", "beta", "gamma", "delta"]
void QList :: move(int from,int to) //将索引位置的项目从索引位置移动到。
QList list;
list << "A" << "B" << "C" << "D" << "E" << "F";
list.move(1, 4);
// list: ["A", "C", "D", "E", "B", "F"]
此处省略...
更多成员函数可以参考Qt文档。
QLinkedList
QLinkedList
QLinkeList成员函数:
参照QLIst成员函数,大多功能相似,也可以参考Qt文档,因为函数功能类似且比较多,不一一列举了。
QVector
QVector number; //创建一个存储 int类型 QVector
QVector str; //创建一个存储 QString类型 QVector
QVector将其元素存储在向量(数组)中,
QVector vector(200); //初始化一个包含200个元素的vector
更多QVector的使用参考Qt文档,成员函数实在太多,偷一把懒了吧。QVector函数使用
关于Qt的更多使用后续会继续更新...