Map 和 Object 很相似,都可以保存键值对,但是他们仍有些重要的区别:
1. 一个 Object 的键通常是字符串,但一个 Map 的键可以是任意值,包括函数、对象、基本类型,因此 Map 会方便很多;
2. Map 中的键值是有序的,而添加到对象中的键则不是;
3. Map 的键值对个数可以直接获取,Object 则要借助 Object.keys() 等计算得到;
4. Map 可直接进行迭代,Object 则要借助 Object.keys() 等;
5. Map 不存在键名和原型键名冲突问题,可以直接覆盖,Object 则不行;
Map集合的特点:
1、Map集合一次存储两个对象,一个键对象,一个值对象
2、键对象在集合中是唯一的,可以通过键来查找值
HashMap特点:
1、使用哈希算法对键去重复,效率高,但无序
2、HashMap是Map接口的主要实现类