STL容器:unordered_set核心总结
成员函数
访问
| 成员函数 | 函数说明 | 
|---|---|
| find(key) | 查找键为 key的元素。如果找到,返回指向该元素的迭代器;否则返回end()。 | 
| count(key) | 返回键为 key的元素数量。由于unordered_set不允许重复元素,该函数返回值只能是0或1。 | 
修改
| 成员函数 | 说明 | 
|---|---|
| insert(const T& value) | 插入一个新元素 value。如果该元素已存在,则插入失败。 | 
| emplace(Args&&... args) | 通过就地构造一个新元素,并将其插入到 unordered_set中。 | 
| erase(const_iterator position) | 移除 position处的元素。 | 
| erase(key) | 移除键为 key的所有元素,返回被移除的元素数量。 | 
| clear() | 移除所有元素,使 unordered_set变为空。 | 
| swap(unordered_set& other) | 与另一个 unordered_set交换内容。 | 
容量
| 成员函数 | 说明 | 
|---|---|
| empty() | 如果 unordered_set中没有元素,则返回true。 | 
| size() | 返回 unordered_set中元素的数量。 | 
| max_size() | 返回 unordered_set可以容纳的最大元素数量。 | 
哈希
| 成员函数 | 说明 | 
|---|---|
| load_factor() | 返回当前的负载因子( size() / bucket_count())。 | 
| max_load_factor(float z) | 设置或获取最大负载因子。 | 
| rehash(size_type n) | 重新哈希容器,使得其桶数量至少为 n。 | 
| hash_function() | 返回哈希函数对象。 | 
| key_eq() | 返回键相等比较函数。 | 
桶
| 成员函数 | 说明 | 
|---|---|
| bucket_count() | 返回当前桶的数量。 | 
| bucket_size(size_type n) | 返回第 n个桶中的元素数量。 | 
| bucket(key) | 返回键为 key的元素所在的桶的索引。 | 
迭代器
| 成员函数 | 说明 | 
|---|---|
| begin() | 返回指向第一个元素的迭代器。元素的顺序不确定。 | 
| end() | 返回指向最后一个元素之后位置的迭代器。 | 
| cbegin() | 返回指向第一个元素的 const迭代器。 | 
| cend() | 返回指向最后一个元素之后位置的 const迭代器。 |