44 lines
951 B
Markdown
44 lines
951 B
Markdown
# HashMap::Find
|
|
|
|
```cpp
|
|
Value* Find(const Key& key);
|
|
const Value* Find(const Key& key) const;
|
|
```
|
|
|
|
根据键查找对应的值指针。
|
|
|
|
**参数:**
|
|
- `key` - 要查找的键
|
|
|
|
**返回:** 如果找到,返回指向值的指针;否则返回 `nullptr`。
|
|
|
|
**复杂度:** O(1) 平均,最坏 O(n)(同一桶中有多个键发生哈希冲突)
|
|
|
|
**线程安全:** ❌ 非线程安全
|
|
|
|
**异常:** 无
|
|
|
|
**示例:**
|
|
|
|
```cpp
|
|
XCEngine::Containers::HashMap<int, const char*> map;
|
|
map.Insert(1, "one");
|
|
map.Insert(2, "two");
|
|
|
|
const char* value1 = map.Find(1);
|
|
if (value1) {
|
|
std::cout << "Found: " << value1 << std::endl; // 输出 "Found: one"
|
|
}
|
|
|
|
const char* value2 = map.Find(99);
|
|
if (!value2) {
|
|
std::cout << "Not found" << std::endl; // 输出 "Not found"
|
|
}
|
|
```
|
|
|
|
## 相关文档
|
|
|
|
- [HashMap 总览](hashmap.md) - 返回类总览
|
|
- [Contains](contains.md) - 检查是否包含键
|
|
- [operator[]](./operator-subscript.md) - 下标访问
|