std.map
tier: alloc
Map[K, V] 种子(双 List 平行槽;函数式:put 返回新映射) K 需可 ==(bound Eq:标量原生可等/派生结构体逐字段);调用点经显式 TypeArgs 实例化(v0)
pub fn
| Signature | Returns | Description |
|---|---|---|
map_new[K, V]() |
Map[K, V] |
空映射(双空 List 槽) |
put[K, V](m: Map[K, V], k: K, v: V) |
Map[K, V] |
函数式覆盖写:键存在则原位替换值,否则尾插;返回新映射,原 m 不变(O(n)) |
get[K, V](m: Map[K, V], k: K, dft: V) |
V |
取值:键不存在返回 dft |
has[K, V](m: Map[K, V], k: K) |
Bool |
键存在判定 |
keys[K, V](m: Map[K, V]) |
List[K] |
键表/值表(首插序;覆盖写不移位)。返回内部 List 的克隆(读即深克隆语义锚)。 |
values[K, V](m: Map[K, V]) |
List[V] |
值表(首插序;与 keys 一一对应;克隆语义同 keys) |
map_len[K, V](m: Map[K, V]) |
I32 |
键值对数 |
map_del[K, V](m: Map[K, V], k: K) |
Map[K, V] |
删除键:不存在时原样返回(函数式,原映射不变) |