QMap的簡單使用(增刪改查等)

前言

QMap是Qt提供的容器類,是一種由key到value的映射。

與C++中STL提供的map使用方法相同,部分使用細節上,QMap做了優化。

插入

QMap<int, QString> mapTest_;
mapTest_.insert(1, "1111"); //直接插入
mapTest_[2] = "2222";       //另一種方式的插入

if(!mapTest_.contains(2))   //可以在插入時判斷是否存在該key
{
    mapTest_.insert(2,"bbbb");
}

刪除

QMap<int, QString> mapTest_;

//直接根據key值刪除
mapTest_.remove(1);         

//使用迭代器
QMap<int, QString>::iterator iter_ = mapTest_.end();
iter_ = mapTest_.find(5);
mapTest_.erase(iter_);

//清空
mapTest_.clear();

修改

mapTest_[1] = "aaaa";
mapTest_.insert(2, "bbbb");//插入時,已存在的key,會將value更新掉

//使用迭代器修改
QMap<int, QString>::iterator iter_ = mapTest_.end();
iter_ = mapTest_.find(3);
if(iter_ != mapTest_.end())//判斷是否存在該key
{
    iter_.value() = "cccc";
}

查詢

QMap<int, QString> mapTest_;
QString value_ = "";
value_ = mapTest_[2];                //獲取key=2的value值
value_ = mapTest_.value(2);          //獲取key=2的value值
value_ = mapTest_.value(5, "1234");  //如果沒有key=5,則提供一個缺省值value(“1234”)

//遍歷QMap查詢
QMap<int, QString>::iterator iter_ = mapTest_.end();
for(iter_ = mapTest_.begin(); iter_ != mapTest_.end(); iter_ ++)
{
    //獲取key與value值
    qDebug() << iter_.key() << iter_.value();
}

結尾

只爲記錄,只爲分享! 願所寫能對你有所幫助。不忘記點個贊,謝謝~

發佈了21 篇原創文章 · 獲贊 10 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章