QMap的说明
QMap属于Qt中的一种类型,使用者可以存储一对值(Key,value),以此便可通过Key来找到与其对应的值value。
我觉得说简单点其实就是将值value与Key相互关联、一一对应。两个值可以是相同类型或者是不同类型,通过Map来将二者联系。
一些简单的使用方法
首先先将Key和value值添加进去
QMap<QString,int> m_Map;
//将value中的值插入至Key中的方法如下所示:
m_Map[“KeyType1”]=658;
m_Map[“KeyType2”]=659;
可以运算符[]插入也可使用函数insert插入。上下两种插入方法均可实现value值的插入。
m_Map.insert(“KeyType3”,953);//上下两种插入方法均可实现value值的插入。
m_Map.insert(“KeyType4”,955);
可以通过相应的Key值来找与其对应的value值。
将KeyType1和KeyType3所对应的两个value值分别赋给value1和value2并显示出来;
int value1 = m_Map[“KeyType1”];
int value2 = m_Map.value(“KeyType2”);
qDebug()<<" m_KeyType1->value1:"<< value1 ;
qDebug()<<" m_KeyType3->value3:"<< m_Map.value(“KeyType3”);
我们可以通过使用contain()函数来查找QMap中是否包含某项,包含则返回true,反之则为false
int content = 12580;
if(m_Map.contains(“XXS”))
content= m_Map.value(“XXS”);
qDebug()<<content:<<content;
content= m_Map.value(“XXS”,12580);
qDebug()<< “content:”<<content; //由于m_Map中并没有包含有"XXS",所以很明显以上两个输出结果是12580。
content= m_Map.value(“KeyType1”,30);
qDebug()<<content:<<content; //当m_Map中包含有KeyType1项则可以KeyType1所对应的值给显示出来。
QMap<QString,int>::iterator it;
for ( it = m_Map.begin(); it != m_Map.end(); it++ )
{
qDebug()<<it.key()<<it.value();
}
如上述代码所表示,便可以让it从m_Map的起点begin到终点end进行遍历。