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 迭代器。 |