#hash-map #iterator #key #collect #once #collected #btree-map

collect-once-hashmap

只有迭代器中有唯一键时才能收集的哈希表

2 个不稳定版本

0.2.0 2021 年 9 月 1 日
0.1.0 2021 年 9 月 1 日

#2371 in 数据结构

MPL-2.0 许可证

8KB
179

collect-once-hashmap

这个包提供了一个类型 CollectOnceHashMap(以及与 BTreeMap 相同的),可以从迭代器收集,就像正常的 std::collections::HashMap 一样,但它确保重复键会导致错误。

示例

# use collect_once_hashmap::{CollectOnceHashMap, Error};
let hm = vec![(1, 1), (1, 2)]
    .into_iter()
    .collect::<CollectOnceHashMap<u8, u8>>()
    .into_inner();

assert!(hm.is_err());
assert!(std::matches!(hm, Err(Error::DuplicatedKey(1))));

let bm = vec![(1, 1), (1, 2)]
    .into_iter()
    .collect::<CollectOnceBTreeMap<u8, u8>>()
    .into_inner();

assert!(bm.is_err());
assert!(std::matches!(bm, Err(Error::DuplicatedKey(1))));

许可证

MPL-2.0 (c) Matthias Beyer

依赖项

~295–760KB
~18K SLoC