QMapIterator Class Reference
该类提供一个java风格const迭代器为QMapQMultiMap
#include
公共函数:

QMapIterator
 ( const QMapmap )
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 QMapmap )
 
QMapjava风格和stl风格迭代器。Java风格迭代器是更高水平并且容易的使用比stl。另一面,他的效率有点低。
QMapiterator允许你迭代一个QMap。如果你想修改map当你迭代他时,使用QMutableMapiterator代替。
QMapiterator构造函数构造一个QMap。构造后,迭代器是定位在map的开始。这是怎样循序的迭代所有的元素。
QMap map;
       
 ...
       
 QMapIterator i(map);
       
 while (i.hasNext()) {
       
     i.next();
       
     qDebug() << i.key() << ": " << i.value();
       
 }
       
Next()返回下一个项目,并前进。Key()和value()返回刚跳过的最后一个项目的keyvalue。不像stl风格迭代器,java风格迭代器指向项目之间,而不是直接指向项目。
例子:
QMapIterator i(map);
       
 i.toBack();
       
 while (i.hasPrevious()) {
       
     i.previous();
       
     qDebug() << i.key() << ": " << i.value();
       
 }
       
如果你想找到一个特别的值的所有的发生,使用findNext()和findPrevious()在一个循环中。例如:
QMapIterator i(map);
       
 while (i.findNext(widget)) {
       
     qDebug() << "Found widget " << widget << " under key "
       
              << i.key();
       
 }
       
多重迭代器能被用来在同一个map。如果map是被修改当一个QMaplterator是活跃,QMaplterator将继续迭代原来的map,忽略修改的拷贝。
 
成员函数文件:

QMapIterator::QMapIterator ( const QMap & map )

bool QMapIterator::findNext ( const T & value )

bool QMapIterator::findPrevious ( const T & value )

bool QMapIterator::hasNext () const

bool QMapIterator::hasPrevious () const

const Key & QMapIterator::key () const

Item QMapIterator::next ()

Item QMapIterator::peekNext () const

Item QMapIterator::peekPrevious () const

Item QMapIterator::previous ()

void QMapIterator::toBack ()

void QMapIterator::toFront ()

const T & QMapIterator::value () const

QMapIterator & QMapIterator::operator= ( const QMap & map )