构造函数
unordered_map()
:默认构造函数,创建一个空的 unordered_map 对象。unordered_map(size_type n)
:使用 n 个桶创建一个 unordered_map 对象。unordered_map(size_type n, const hasher& hf, const key_equal& eql)
:使用 n 个桶、自定义哈希函数 hf 和键比较函数 eql 创建一个 unordered_map 对象。unordered_map(size_type n, const hasher& hf, const key_equal& eql, const allocator_type& alloc)
:使用 n 个桶、自定义哈希函数 hf、键比较函数 eql 和分配器 alloc 创建一个 unordered_map 对象。unordered_map(const unordered_map& umap)
:复制构造函数,创建一个新的 unordered_map 对象,其元素与 umap 相同。unordered_map(const unordered_map& umap, const allocator_type& alloc)
:使用分配器 alloc 创建一个新的 unordered_map 对象,其元素与 umap 相同。unordered_map(unordered_map&& umap) noexcept
:移动构造函数,创建一个新的 unordered_map 对象,其元素与 umap 相同,umap 变为空 unordered_map 对象。unordered_map(unordered_map&& umap, const allocator_type& alloc)
:使用分配器 alloc 创建一个新的 unordered_map 对象,其元素与 umap 相同,umap 变为空 unordered_map 对象。unordered_map(initializer_list<value_type> ilist)
:使用初始化列表 ilist 创建一个新的 unordered_map 对象。
迭代器
begin()
:返回指向 unordered_map 第一个元素的迭代器。end()
:返回指向 unordered_map 最后一个元素之后的迭代器。cbegin() const
:返回指向 unordered_map 第一个元素的 const 迭代器。cend() const
:返回指向 unordered_map 最后一个元素之后的 const 迭代器。
容器大小相关
empty()
:返回 unordered_map 是否为空。size()
:返回 unordered_map 中元素的数量。max_size()
:返回 unordered_map 可容纳的最大元素数量。
访问元素
operator[] (const key_type& k)
:返回键为 k 的元素的引用,如果不存在则插入一个值为默认值的新元素。at(const key_type& k)
:返回键为 k 的元素的引用,如果不存在则抛出std::out_of_range
异常。find(const key_type& k)
:返回指向键为 k 的元素的迭代器,如果不存在则返回 unordered_map::end()。count(const key_type& k)
:返回键为 k 的元素的数量,因为每个键最多只能对应一个元素,所以返回值只能为 0 或 1。
修改容器
insert(const value_type& val)
:将 val 添加到 unordered_map 中。insert(const_iterator hint, const value_type& val)