大家好,又见面了,我是你们的朋友全栈君。
QT的迭代器有两种类型:STL形式和JAVA形式。
QT的STL形式的迭代器,和STL的迭代器用法类似,而JAVA形式的迭代器,则提供了一套迭代器类,用于QT容器的迭代。
这其中,就有QT的迭代器类QMapIterator。
QMapIterator的公共函数如下:
QMapIterator(const QMap<Key, T> & map) | |
bool | findNext(const T & value) |
bool | findPrevious(const T & value) |
bool | hasNext() const |
bool | hasPrevious() const |
const Key & | key() const |
Item | next() |
Item | peekNext() const |
Item | peekPrevious() const |
Item | previous() |
void | toBack() |
void | toFront() |
const T & | value() const |
QMapIterator & | operator=(const QMap<Key, T> & map) |
QMapIterator中,每次迭代器并不指向元素,而是指向两个元素之间。
QMapIterator的样例如下所示:
QMap<int, QWidget *> map;
…
QMapIterator<int, QWidget *> i(map);
while (i.hasNext()) {
i.next();
qDebug() << i.key() << “: ” << i.value();
}
注意的是:必须先调用next()方法,才能指向下一个下一个值,这和我们理解的语法有区别。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/139307.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...