迭代器提供了一个统一的方法来访问容器中的项目。QT的容器类提供了两种类型的迭代器:jave风格的迭代器和STL风格迭代器。如果只是想按顺序遍历一个容器的项目,可以使用QT的foreach关键字。
1、jave风格的迭代器
#include <QCoreApplication>
#include <QList>
#include <QListIterator>
#include <QMutableListIterator>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QList<QString> list;
list << "A" << "B" << "C" << "D";
QListIterator<QString> i(list); // 创建列表的只读迭代器,将list作为参数
qDebug() << "the forward is :";
while (i.hasNext()) // 正向遍历列表,结果为A,B,C,D
qDebug() << i.next();
qDebug() << "the backward is :";
while (i.hasPrevious()) // 反向遍历列表,结果为D,C,B,A
qDebug() << i.previous();
QMutableListIterator<QString> j(list);
j.toBack();