To the pursuit of truth.
Qt 中的 map 与 stl、boost 中稍有差别,这些差别只能让你更加方便的去操作数据,下面代码演示了对 map 的增、删、改、查具体操作:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
#include <QList>#include <QString>#include <QDebug>#include <QMap>int main(){ QMap<QString, int> map; // 增加数据 map.insert("小明", 4); map["小王"] = 3; map.insert("小明", 8); // 会修改原值 qDebug() << map["小明"];#if 0 // 删除数据 map.remove("小名"); map.clear();#endif // 遍历 QList<QString> keyList = map.keys(); for(QList<QString>::iterator it = keyList.begin(); it != keyList.end(); it++) { qDebug() << *it << "age is :" << map[*it] << "for list"; } for(QMap<QString, int>::iterator it = map.begin(); it != map.end(); it++) { qDebug() << it.key() << "age is :" << it.value() << "for iterator"; } // 访问 qDebug() << map.value("小明"); // 如果key不存在,那么这种方式会自动增加并返回一个默认值 0 int i = map["小汤"]; qDebug() << i; // 查找 if(map.find("小明") == map.end()) { qDebug() << "not found.."; } else { qDebug() << "found.."; }}