#include <QtCore/QCoreApplication> #include <QDebug> int main(int argc, char *argv[]) { QCoreApplication a(argc, argv); QMap<int, int> map; map.insert(1, 3); map.insert(2, 4); map.insert(15, 9); map.insert(6, 8); QMap<int, int>::const_iterator i; for( i=map.constBegin(); i!=map.constEnd(); ++i) qDebug() << i.key() <<" " << i.value(); //QMap的Key会自动按升序排列 QMap<int, int>::iterator mi; //注意QMap<int, int>::const_iterator 报错 mi = map.find(2); if(mi != map.end()) { qDebug() << mi.key() <<" " << mi.value(); ++mi; if(mi != map.end()) { qDebug() << mi.key() <<" " << mi.value(); } } return a.exec(); } /* 总结: QMap和QHasp的操作基本一致 需要对QMap的迭代器进行手动向下或向上移动时,一定要用QMap<T1, T2>::iterator 不能使用QMap<T1, T2>::const_iterator; 循环时可以使用QMap<T1, T2>::const_iterator和constBegin,constEnd */