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

来源:互联网 发布:美国次贷危机 知乎 编辑:程序博客网 时间:2024/06/01 07:22

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

0 0
原创粉丝点击