c++ map 多个value_别误会,Map不只是地图

本文详细介绍了C++中的map容器,包括如何创建、操作、与数组转换及遍历的方法。通过实例展示了map的set、get、has、delete、clear等操作,并探讨了手写map的可能性,拓展了对C++ map的理解。
摘要由CSDN通过智能技术生成

bcb12a6a63b1254ce5e9ed902091bc84.png

人生不止有技术 链接每一位开发者, 让编程更有趣儿! 关注

上集说到ES6中set方法,在ES6中除了增加set方法之外,还考虑到一种场景——键值对的存储,而map集合就是专门存储多个键值对(key value pair)的数据。

在map出现之前,我们使用的是对象的方式来存储键值对,键是属性名,值是属性值。键值对数据结合的特点就是:键不可重复。如果用对象来存储键值对在某些场景下不太如意:

  1. 键名只能是字符串或者符号,这就给它的使用带来很大的限制
  2. 获取数据的数量不方便,如果想知道对象中存了多少个数据,就必须先拿到所有的键名,然后通过求数组的长度才能知道对象中有多少个属性。
  3. 键名容易跟原型上的名称冲突。

0、如何创建map


 new Map();//创建一个没有任何内容的map集合

 new Map(iterable);//创建一个具有初始化内容的map,初始内容来自于可迭代对象每一次迭代的结果,
 //但是,它要求每一次迭代的结果必须是一个长度为2的数组,数组第一项表示键,数组第二项表示值

例:创建一个没有任何内容的map集合

const mp = new Map();
console.log(mp);

执行结果:829a1af36f087feeae8dc1ffc188dc41.png

例:创建一个有初始内容的map集合

const mp = new Map([["a",1],["b",2],["c",3]]);
console.log(mp);

执行结果:2b31304106c2950261b018e9aa831d96.png

1、如何进行后续操作

「1、size:只读属性,获取当前map中键的数量」

例:size

const mp = new Map([["a",1],["b",2],["c",3]]);
console.log(mp);
console.log("总数:",mp.size);

执行结果:64f50c1b3c9b1562e6da59870961a284.png

「2、set(键,值):设置一个键值对,键和值可以是任何类型」这也是跟Object存储的区别,对象只能是字符串

例:set()

const mp = new Map([["a",1],["b",2],["c",3]]);
mp.set("d",4)
console.log(mp);

执行结果:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值