Qt中QMap的使用

本文作者林中楓,首發於知乎,未經許可禁止轉載。

  • QMap介紹

QMap也是一種集合只不過裡面存的是鍵值對,也就是一種映射關係,通過鍵key能找到值value,反過來也行。在編碼過程中,這種集合也很常用。

  • 代碼實現

#include <QCoreApplication>#include<QMap>#include<QDebug>int main(int argc, char *argv[]){ QCoreApplication a(argc, argv); //創建QMap對象 QMap<QString,QString> *map=new QMap<QString,QString>(); //增加元素 map->insert("1","a"); (*map)["2"]="b"; (*map)["3"]="c"; //由鍵獲得值 qDebug()<<"value1:"<<(*map)["1"]; qDebug()<<"value2:"<<map->value("2"); qDebug()<<"value3:"<<(*map)["3"]; //由值獲得鍵 qDebug()<<"key1:"<<map->key("a"); qDebug()<<"key2:"<<map->key("b"); qDebug()<<"key3:"<<map->key("c"); //改變元素值 (*map)["1"]="d"; (*map)["2"]="e"; (*map)["3"]="f"; qDebug()<<"new value1:"<<(*map)["1"]; qDebug()<<"new value2:"<<map->value("2"); qDebug()<<"new value3:"<<(*map)["3"]; //刪除鍵值對 map->remove("2"); //獲取map中元素個數 qDebug()<<"鍵值對個數:"<<map->count(); //判斷map是否為空 qDebug()<<"集合為空:"<<map->isEmpty(); //判斷集合是否包含某鍵值對 qDebug()<<"包含key為3的鍵值對:"<<map->contains("3"); //獲取第一個鍵值對和最後一個鍵值對的值 qDebug()<<"第一個鍵值對的值:"<<map->first(); qDebug()<<"最後一個鍵值對的值:"<<map->last(); return a.exec();}

  • 運行結果

運行程序如圖所示:

  • 歡迎關注

作者知乎賬號:林中楓

作者知乎專欄:

Qtzhuanlan.zhihu.com圖標
推薦閱讀:

TAG:QtC開發框架 | C | 軟體開發 |