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 的索引。