QMap<QString,QString> infoMap; //第一个是key 第二个是value
infoMap.insert("王祖蓝","163cm");
infoMap.insert("Anglebaby","168cm");
infoMap["易烊千玺"] = "173cm(成长中)";
infoMap["姚明"] = "226cm";
qDebug()<<"姚明:"<<infoMap["姚明"];
qDebug()<<"易烊千玺:"<<infoMap.value("易烊千玺");
qDebug()<<"168cm的是谁呢?"<<infoMap.key("168cm")<<endl;
QMapIterator<QString,QString> it_r(infoMap);
for(it_r.toFront();it_r.hasNext();)
{
it_r.next();
qDebug()<<it_r.key()<<" : "<<it_r.value();
}
注:输出的结果不是按照插入数据输出而是键序进行排序,它是有顺序的(可以理解为按字母顺便排序),哈希表是无序的!
QMutableMapIterator<QString,QString> it_rw(infoMap);
if(it_rw.findNext("163cm"))
it_rw.setValue("163.1cm");
qDebug()<<endl<<"修改后的数据遍历:";
for(it_rw.toFront();it_rw.hasNext();)
{
it_rw.next();
qDebug()<<it_rw.key()<<":"<<it_rw.value();
}
QMap<QString,QString> wMap;
wMap.insert("spring","15℃");
wMap.insert("summer","35℃");
wMap.insert("autumn","23℃");
wMap.insert("winter","-5℃");
//STL风格迭代器 ,只读
QMap<QString,QString>::const_iterator i_r;
i_r = wMap.constBegin();
qDebug()<< endl <<"初始化季节遍历:";
for(;i_r!=wMap.constEnd();++i_r)
qDebug()<<i_r.key()<<" : "<<i_r.value();
注:输出的结果不是按照插入数据输出而是键序进行排序,它是有顺序的(可以理解为按字母顺便排序),哈希表是无序的!?
QMap<QString,QString>::iterator i_rw;
i_rw = wMap.find("spring");
if(i_rw!=wMap.end())
i_rw.value() = "16℃";
qDebug()<<endl<<"修改春天的数据后遍历:";
i_rw = wMap.begin();
for(;i_rw!=wMap.end();++i_rw)
qDebug()<<*i_rw;
QMultiMap<QString,QString> wMap1;
wMap1.insert("spring","15℃");
wMap1.insert("summer","35℃");
wMap1.insert("summer","39℃");
wMap1.insert("summer","40℃");
wMap1.insert("autumn","23℃");
wMap1.insert("winter","-5℃");
wMap1.insert("winter","-15℃");
wMap1.insert("winter","-55℃");
qDebug() <<endl <<"初始化wMap: "<<wMap1;
wMap1.remove("winter","-55℃");
qDebug()<<endl<<"删除winter:-55℃后"<<wMap1;
qDebug()<<endl<<"winter:"
<<wMap1.values("winter");
QMapIterator<QString,QString> i_r1(wMap1);
qDebug()<<endl<<"初始化季节遍历:";
for(i_r1.toFront();i_r1.hasNext();)
qDebug()<<i_r1.key()<<" : "<<i_r1.next().value();
注:遍历数据拿值要从下一个开始拿!??
????????qDebug()<<i_r1.key()<<" : "<<i_r1.next().value();
? ? ? ? 一定要添加上next()