目录
1.记忆要点
1.使用索引遍历
for (int i = 0; i < list.size(); ++i) {
qDebug() << list[i];
}
2.使用迭代器遍历
for (QList<int>::iterator it = list.begin(); it != list.end(); ++it) {
qDebug() << *it;
}
3.使用 Java 风格的迭代器
QMutableListIterator<int> it(list);
while (it.hasNext()) {
qDebug() << it.next();
}
4.使用范围基的 for 循环 (C++11 及以上)
for (int value : list) {
qDebug() << value;
}
2.内容
在Qt中,QList<int>
是一个模板类,用于存储整数类型的动态数组。遍历 QList<int>
的方法有多种,以下是几种常见的方法:
方法一:使用索引遍历
这是最常见的方法,通过索引来访问每一个元素。
#include <QList>
#include <QDebug>
int main() {
QList<int> list;
list.append(1);
list.append(2);
list.append(3);
for (int i = 0; i < list.size(); ++i) {
qDebug() << list[i];
}
return 0;
}
方法二:使用迭代器遍历
QList
提供了 STL 风格的迭代器,可以用来遍历列表。
#include <QList>
#include <QDebug>
int main() {
QList<int> list;
list.append(1);
list.append(2);
list.append(3);
for (QList<int>::iterator it = list.begin(); it != list.end(); ++it) {
qDebug() << *it;
}
return 0;
}
方法三:使用 Java 风格的迭代器
Qt 还提供了 Java 风格的迭代器 QMutableListIterator
和 QListIterator
。
#include <QList>
#include <QMutableListIterator>
#include <QDebug>
int main() {
QList<int> list;
list.append(1);
list.append(2);
list.append(3);
QMutableListIterator<int> it(list);
while (it.hasNext()) {
qDebug() << it.next();
}
return 0;
}
方法四:使用范围基的 for 循环 (C++11 及以上)
如果使用的是 C++11 及其以上版本,还可以使用范围基的 for 循环来遍历 QList
。
#include <QList>
#include <QDebug>
int main() {
QList<int> list = {1, 2, 3};
for (int value : list) {
qDebug() << value;
}
return 0;
}
总结
以上几种方法都可以用来遍历 QList<int>
,选择哪种方法主要取决于你的具体需求和代码风格。对于简单的遍历,范围基的 for 循环和索引遍历可能是最简洁和直观的方法;而迭代器则提供了更灵活的遍历和修改操作。