multimap
介绍
基本与 map
相同,但除去了 operator[]
, 因为其特点是相同 key
的值在 multimap
中可以多个存在。需要强调的,与 map
有明显不同的常用方法:
常用方法
iterator insert(value)
插入键值对,返回插入后该元素的迭代器
size_type erase(key)
删除所有关键字与 key
相等的键值对,返回删除的元素个数
void erase(iterator pos)
删除对应位置元素
size_type count(key)
统计关键字为 key
的元素个数
iterator find(key)
查找关键字与 key
相等的键值对,返回对应位置的迭代器。如果不存在则返回 end()
。如果有多个关键字与 key
相等的键值对,返回的迭代器指向哪一个不定。
pair<iterator, iterator> equal_range(key)
查找关键字与 key
相等的键值对,返回迭代器对,描述与 key
相等的键值对的区间 [first, last)
。
代码示例
1 |
|
1 | output |
multiset
介绍
与上述 multimap
的用法基本相同,只是每个元素只有一个值 key
,而没有对应的 value
。