您的位置:首页 > 编程语言 > Qt开发

QT学习笔记——容器类总结

2016-02-19 21:37 435 查看
QT 官方手册: http://doc.qt.io/qt-5/qtcore-index.html
参考书籍: Qt5开发及实例 陆文周主编 【电子工业出版社】

1. 字符串类QString

字符串通用操作: 查询、码制转换

Qt在线参考文档:http://www.kuqin.com/qtdocument/

2. 容器类

线性表 QList<T>

使用:

QList<QString> list;

list << str; //将一个字符串存储在该列表里

可以使用下标或者迭代器来访问线性表元素。

链表 QLinkedList<T>

只能使用迭代/遍历器(相应类型的Iterator)来访问各元素。

容器 QVector<T>

可以使用下标或者迭代器来访问元素。

从功能上迭代器分只读/读写两种。

(1)只读迭代器:只能完成基本的遍历操作,不能完成列表项的插入删除操作。

(2)读写迭代器:可以完成列表项的插入、删除、修改表项数据等的操作。

Java风格迭代器与 STL风格迭代器

(1)Java风格迭代器:迭代点位于列表项的中间,而不是直接指向某个列表项。

(2)STL风格迭代器:建立在指针操作基础上,迭代点直接指向列表项

Java风格迭代器

容器类
只读迭代器类
读写迭代器类
QList<T>, QQueue<T>
QListIterator<T>
QMutableListIterator<T>
QLinkedList<T>
QLinkedListIterator<T>
QMutableLinkedListIterator<T>
QVector<T>,QStack<T>
QVectorIterator<T>
QMutableVectorIterator<T>
实例:

只读迭代器常用方法(以QListIterator<T>为例)

QListIterator(const QList<T> & list)
bool findNext(const T & value)
从当前迭代点开始向后查找指定列表项,若找到返回true,此时迭代点位于匹配列表项之后;若未找到返回false,此时迭代点位于最后一个表项之后。
bool findPrevious(const T
& value)
从当前迭代点开始向前查找指定列表项,若找到返回true,此时迭代点位于匹配列表项之前;若未找到返回false,此时迭代点位于第一个表项之前。
bool hasNext() const
检查当前迭代点之后是否具有列表项。
bool hasPrevious() const
检查当前迭代点之前是否具有列表项。
const T & next()
返回当前迭代点后一个列表项的内容,并将迭代点移动到后一个列表项之后。
const T & peekNext() const
返回下一个列表项,但不移动迭代点。
const T & peekPrevious() const
返回前一个列表项,但不移动迭代点。
const T & previous()
返回当前迭代点前一个列表项的内容,并将迭代点移动到前一个列表项之前。
void toBack()
将迭代点移动到最后一个列表项之后。
void toFront()
将迭代点移动到第一个列表项之前。
QListIterator & operator=(const
QList<T> & list)
STL风格迭代器
容器类
只读迭代器类
读写迭代器类
QList<T>, QQueue<T>
QList<T>::const_iterator
QList<T>::iterator
QLinkedList<T>
QLinkedList<T>::const_iterator
QLinkedList<T>::iterator
QVector<T>,QStack<T>
QVector<T>::const_iterator
QVector<T>::iterator
实例:

映射 QMap<Key, T>
哈希表 QHash <Key, T> QMultiX<Key, T>可存储一键多值的数据
Java风格迭代器
容器类
只读迭代器类
读写迭代器类
QMap<Key,T>, QMultiMap<Key, T>
QMapIterator<Key ,T>
QMutableMapIterator<Key, T>
QHash<Key,T>, QMultiHash<Key, T>
QHashIterator<Key ,T>
QMutableHashIterator<Key, T>
STL风格迭代器

容器类

只读迭代器类
读写迭代器类
QList<T>, QQueue<T>
QList<T>::const_iterator
QList<T>::iterator
QLinkedList<T>
QLinkedList<T>::const_iterator
QLinkedList<T>::iterator
万能的数据类型QVariant
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: