简介
- Multimap是关联式容器,它按照特定的顺序,存储由key和value映射成的键值对<key, value>,其中多个键值对之间的key是可以重复的
- 在multimap中,通常按照key排序和唯一的标识元素,而映射的value存储与key关联的内容。key和value的类型可能不同,通过multimap内部的成员类型value_type组合在一起,value_type是组合key和value的键值对
- 在内部,multimap中的元素总是通过其内部比较元素,按照指定的特定严格弱排序标准对key进行排序的
- multimap通过key访问单个元素的速度通常比unordered_multimap容器慢,但是使用迭代器直接遍历multimap中的元素可以得到关于key有序的序列
- multimap在底层用二叉搜索树(红黑树)来实现
multimap的使用注意事项
multimap中的接口类似于map,但是有几点需要注意的
- multimap中的key是可以重复的
- multimap中的元素默认将key按照小于来比较
- multimap中没有重载operator[]操作,这是因为其中的key是可以重复的,如果使用[key],编译器无法得知该返回哪个value
- 使用时包含的头文件与map相同