Skip to content

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

应用场景

  1. 缓存系统:键值存储
  2. 索引构建:快速查找
  3. 去重统计:频率统计
  4. 配置管理:键值配置