HashMap
哈希表,使用链地址法解决冲突,支持自动扩容。
函数签名
typescript
function createHashMap<K, V>(
initialCapacity?: number,
loadFactorThreshold?: number
): HashMap<K, V>
interface HashMap<K, V> {
set(key: K, value: V): void
get(key: K): V | undefined
has(key: K): boolean
delete(key: K): boolean
keys(): K[]
values(): V[]
entries(): Array<[K, V]>
size(): number
clear(): void
loadFactor(): number
}API 说明
set(key, value): void
设置键值对,自动扩容。
时间复杂度:平均 O(1)
get(key): V | undefined
获取值。
时间复杂度:平均 O(1)
使用示例
typescript
import { createHashMap } from '@shared/functions/data-structures/HashMap'
const map = createHashMap<string, number>()
map.set('one', 1)
map.set('two', 2)
console.log(map.get('one')) // 1
console.log(map.size()) // 2应用场景
- 缓存系统:键值存储
- 索引构建:快速查找
- 去重统计:频率统计
- 配置管理:键值配置