目錄
1、增加
QMap<char,int> mapCI;
//插入
mapCI.insert('a',1);
mapCI.insertMulti('b',2); //一鍵多值
mapCI.insertMulti('b',3);
qDebug() << mapCI;
//將QMap插入到另一個QMap中,同鍵值不會被覆蓋
QMap<char,int> map1;
map1.insert('b',2);
map1.insert('c',4);
mapCI.unite(map1);
qDebug() << mapCI;
2、刪除
mapCI.erase(mapCI.begin()); //刪除第一個鍵值
qDebug() << mapCI;
mapCI.remove('b'); //刪除 b 和他的值
qDebug() << mapCI;
mapCI.insert('c',4);
qDebug() << mapCI.take('c'); //移除鍵c,返回它的值
3、改
mapCI.insert('a',2); //會覆蓋同一個鍵的值,作用等同修改
4、查找
QMap<char,int>::iterator it = mapCI.find('a'); //查找,返回迭代器
qDebug() << it.key() << it.value();
mapCI.insert('b',2);
qDebug() << mapCI.key(2); //返回該值得鍵,只返回一個鍵
qDebug() << mapCI.keys(2); //返回該值得所有的鍵
//返回鍵的鏈表
QList<char> list = mapCI.uniqueKeys();
qDebug() << list;
//返回值得鏈表
QList<int> list1 = mapCI.values();
qDebug() << list1;
//返回大小最接近b鍵的迭代器,從左到右
it = mapCI.lowerBound('b');
qDebug() << it.key() << it.value();
//返回大小最接近b(不包括b)鍵的迭代器,從右到左
it = mapCI.upperBound('b');
qDebug() << it.key() << it.value();
qDebug() << mapCI.contains('b');//如果含有b鍵,返回true
//查找返回迭代器指針或者 end
qDebug() << mapCI.constFind('b').value();
5、轉換
std::map<char,int> map = mapCI.toStdMap();
6、測試代碼
#include <QCoreApplication>
#include <QDebug>
#include <list>
#include <QVector>
#include <QMap>
using namespace std;
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QMap<char,int> mapCI;
//插入
mapCI.insert('a',1);
mapCI.insertMulti('b',2); //一鍵多值
mapCI.insertMulti('b',3);
qDebug() << mapCI;
//將QMap插入到另一個QMap中,同鍵值不會被覆蓋
QMap<char,int> map1;
map1.insert('b',2);
map1.insert('c',4);
mapCI.unite(map1);
qDebug() << mapCI;
//刪除
mapCI.erase(mapCI.begin()); //刪除第一個鍵值
qDebug() << mapCI;
mapCI.remove('b'); //刪除 b 和他的值
qDebug() << mapCI;
mapCI.insert('c',4);
qDebug() << mapCI.take('c'); //移除鍵c,返回它的值
//改
mapCI.insert('a',2); //會覆蓋同一個鍵的值,作用等同修改
//查找
QMap<char,int>::iterator it = mapCI.find('a');
qDebug() << it.key() << it.value();
mapCI.insert('b',2);
qDebug() << mapCI.key(2); //返回該值得鍵,只返回一個鍵
qDebug() << mapCI.keys(2); //返回該值得所有的鍵
//返回鍵的鏈表
QList<char> list = mapCI.uniqueKeys();
qDebug() << list;
//返回值得鏈表
QList<int> list1 = mapCI.values();
qDebug() << list1;
//返回大小最接近b鍵的迭代器,從左到右
it = mapCI.lowerBound('b');
qDebug() << it.key() << it.value();
//返回大小最接近b(不包括b)鍵的迭代器,從右到左
it = mapCI.upperBound('b');
qDebug() << it.key() << it.value();
qDebug() << mapCI.contains('b');//如果含有b鍵,返回true
//查找返回迭代器指針或者 end
qDebug() << mapCI.constFind('b').value();
//轉換
std::map<char,int> map = mapCI.toStdMap();
return a.exec();
}