1 个不稳定版本
0.1.0 | 2021年6月12日 |
---|
2324 in 数据结构
17KB
425 行
LowMap
一个围绕 Vec<Option<T>>
的便利包装器。它将元素的可选存在抽象为一个非连续向量。
let mut map = LowMap::new();
map.insert(0, "hey");
map.insert(2, "hoy");
map.insert(3, "foo");
map.insert(2, "bar");
assert_eq!(map.get(0), Some(&"hey"));
assert_eq!(map.get(1), None);
assert_eq!(map.get(2), Some(&"bar"));
assert_eq!(map.get(3), Some(&"foo"));
map[2] = "hoho";
assert_eq!(map.get(2), Some(&"hoho"));
lib.rs
:
一个非连续的 Vec
,该向量可能为给定索引存储一个值。
之所以称为 LowMap
,是因为它将给定索引映射到值,而这个索引必须很小,因为它将用作内部 Vec
的索引。