# HashMap::Erase ```cpp bool Erase(const Key& key); ``` 删除指定键对应的元素。 **参数:** - `key` - 要删除的键 **返回:** 如果元素被删除返回 `true`,如果键不存在返回 `false`。 **复杂度:** O(1) 平均,最坏 O(n)(同一桶中有多个键发生哈希冲突) **线程安全:** ❌ 非线程安全 **异常:** 无 **实现备注:** 使用 swap-with-last 策略,将待删除元素与桶内最后一个元素交换,然后 popBack,避免数组元素批量移动。 **示例:** ```cpp XCEngine::Containers::HashMap 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 总览](hashmap.md) - 返回类总览 - [Insert](insert.md) - 插入键值对 - [Clear](clear.md) - 清空所有元素