14个版本 (9个破坏性更新)

使用旧的Rust 2015

0.10.0 2024年1月15日
0.9.1 2023年10月23日
0.9.0 2023年3月21日
0.8.3 2021年3月15日
0.1.0 2015年4月24日

#51 in 数据结构

Download history 625907/week @ 2024-04-27 632191/week @ 2024-05-04 700634/week @ 2024-05-11 688539/week @ 2024-05-18 669344/week @ 2024-05-25 796907/week @ 2024-06-01 798507/week @ 2024-06-08 762720/week @ 2024-06-15 784980/week @ 2024-06-22 712373/week @ 2024-06-29 807459/week @ 2024-07-06 788315/week @ 2024-07-13 826754/week @ 2024-07-20 826856/week @ 2024-07-27 826645/week @ 2024-08-03 730957/week @ 2024-08-10

3,347,431 每月下载量
用于 2,076 个crate(102直接使用)

MIT/Apache

55KB
1K SLoC

crates.io docs.rs

Rust的多值映射实现

这是Rust的多值映射实现。作为std::collections::HashMap的轻量级包装实现。

示例

extern crate multimap;

use multimap::MultiMap;

fn main () {
    let mut map = MultiMap::new();

    map.insert("key1", 42);
    map.insert("key1", 1337);
    map.insert("key2", 2332);

    assert_eq!(map["key1"], 42);
    assert_eq!(map.get("key1"), Some(&42));
    assert_eq!(map.get_vec("key1"), Some(&vec![42, 1337]));
}

更新日志

0.10.0

  • 添加了 FromIterator<(K, Vec<V>)> #48

0.9.1

  • 修复了在空(内部)向量上迭代会导致panic的bug #46

0.9.0

  • 添加了 flat_iterflat_iter_mut
  • 修复了 getget_mut 可能会导致panic的bug。

0.8.3

  • multimap! 宏修复;允许尾随逗号,命名规范和为所有元素创建足够容量的实例。

0.8.2

  • 添加了 #![forbid(unsafe_code)]

0.8.1

  • 修复了在 Cargo.toml 中的错误文档链接。

0.8.0

  • 添加了 MultiMap::insert_many
  • 添加了 MultiMap::insert_many_from_slice

0.7.0

  • 添加了替换底层HashMap默认哈希器的可能性。
  • 通过删除不必要的 mut 来修复构建警告。

许可

在以下任一许可下发布

贡献

除非您明确说明,否则根据Apache-2.0许可证定义的任何有意提交以包含在作品中的贡献,应如上双重许可,不附加任何额外条款或条件。

依赖项

~165KB