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();
}
————————————————
版权声明:本文为CSDN博主「Liu_Xiao_Ming」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Liu_Xiao_Ming/article/details/103395470