// 在QMap中的插入、遍历和修改
#include <QCoreApplication>
#include <QDebug>
int main(int argc, char *argv[])
{
QMap<QString,QString> map; // 创建一个QMap 栈对象
// map.insert 向栈对象插入<城市,区号>键值对
map.insert("beijing","111");
map.insert("shanghai","021");
map.insert("nanjing","025"); // 创建一个只读迭代器
QMapIterator<QString,QString> i(map);
// 完成对QMap的遍历输出。在输出QMap的键和值时,调用的函数是不同的。
// 因为在输出键的时候,不需要使用迭代点移动到下一个位置,所以调用了
// QMapIterator<T,T>::key();
// 而在输出值的时候调用了QMapIterator<T,T>::next()
for(;i.hasNext();)
qDebug()<<" "<<i.key()<<" "<<i.next().value();
QMutableMapIterator<QString,QString> mi(map);
// 首先查找某个<键,值>对,然后修改值
// Java风格的迭代器没有提供查找键的函数。因此
// 在本例中通过查找值的函数QMutableMapIterator<T,T>::findNext()
// 来实现查找修改
if(mi.findNext("111"))
mi.setValue("010");
QMapIterator<QString,QString> modi(map);
qDebug()<<" ";
for(;modi.hasNext();) // 再次遍历并输出修改后的结果
qDebug()<<" "<<modi.key()<<" "<<modi.next().value();
return 0;
Qt 使用QMap实现插入、遍历和修改等操作
最新推荐文章于 2024-01-19 14:13:11 发布