1.0 KiB
1.0 KiB
HashMap::Erase
bool Erase(const Key& key);
删除指定键对应的元素。
参数:
key- 要删除的键
返回: 如果元素被删除返回 true,如果键不存在返回 false。
复杂度: O(1) 平均,最坏 O(n)(同一桶中有多个键发生哈希冲突)
线程安全: ❌ 非线程安全
异常: 无
实现备注: 使用 swap-with-last 策略,将待删除元素与桶内最后一个元素交换,然后 popBack,避免数组元素批量移动。
示例:
XCEngine::Containers::HashMap<int, const char*> map;
map.Insert(1, "one");
map.Insert(2, "two");
map.Insert(3, "three");
bool erased = map.Erase(2); // 返回 true
if (!map.Contains(2)) {
std::cout << "Key 2 removed" << std::endl; // 输出 "Key 2 removed"
}
bool notErased = map.Erase(99); // 返回 false,键不存在
相关文档
- HashMap 总览 - 返回类总览
- Insert - 插入键值对
- Clear - 清空所有元素