#hash-set #no-std #linked-hash-map #detail #ordered-hash-set

no-std 有序_哈希_映射

保留插入顺序的 HashMap

5 个版本 (3 个重大变更)

0.4.0 2023 年 11 月 12 日
0.3.1 2023 年 11 月 10 日
0.3.0 2023 年 11 月 10 日
0.2.0 2023 年 3 月 4 日
0.1.0 2023 年 3 月 1 日

1269数据结构 中排名

Download history 81/week @ 2024-04-07 213/week @ 2024-04-14 220/week @ 2024-04-21 238/week @ 2024-04-28 97/week @ 2024-05-05 302/week @ 2024-05-12 424/week @ 2024-05-19 381/week @ 2024-05-26 519/week @ 2024-06-02 325/week @ 2024-06-09 218/week @ 2024-06-16 347/week @ 2024-06-23 591/week @ 2024-06-30 705/week @ 2024-07-07 573/week @ 2024-07-14 535/week @ 2024-07-21

每月下载量 2,405
用于 7 软件包(6 个直接使用)

BSD-2-Clause 许可协议

94KB
2K SLoC

OrderedHashMap

一个保留插入顺序的 HashMap(和 Set)。

此软件包提供了一种尽可能减少不安全使用的 no_std 实现的有序哈希映射(及其对应的 Set)。使用 MIRI 对存在的不安全代码进行审计。

API 的目标是与标准库中的 HashMap/Set 匹配,并添加额外的 LinkedList 风格方法和有序迭代器。

更新日志

详细信息

此软件包由 hashbrown 驱动,利用已经经过良好验证的 HashMap 实现并添加了在映射中实现 LinkedList 所需的位。与 hashbrown HashMap 相比,OrderedHashMap 的额外内存占用在创建集合时为 2 个指针,每个元素为 3 个指针。指针源于 LinkedList,其中集合本身有一个指向头和尾的指针,每个节点有一个指向下一个和前一个节点的指针,并且映射中的键是指向值的指针。

功能

serde - 启用 serde 序列化和反序列化

用法

use ordered_hash_map::OrderedHashMap;

let mut map: OrderedHashMap<_, _> = [(1, "one"), (2, "two")].into_iter().collect();
map.insert(3, "three");
assert_eq!(map.iter().next(), Some((&1, &"one")));

依赖关系

~2MB
~26K SLoC