#data-structures

linked-hash-map

A HashMap wrapper that holds key-value pairs in insertion order

21 releases

new 0.5.2 Mar 21, 2019
0.5.1 Jan 29, 2018
0.5.0 Jul 26, 2017
0.4.2 Mar 29, 2017
0.0.2 Mar 26, 2015

#5 in Data structures

Download history 31016/week @ 2018-12-06 30876/week @ 2018-12-13 21270/week @ 2018-12-20 19009/week @ 2018-12-27 35297/week @ 2019-01-03 37549/week @ 2019-01-10 35626/week @ 2019-01-17 35009/week @ 2019-01-24 36072/week @ 2019-01-31 40581/week @ 2019-02-07 40574/week @ 2019-02-14 40548/week @ 2019-02-21 45623/week @ 2019-02-28 45588/week @ 2019-03-07 46447/week @ 2019-03-14

159,460 downloads per month
Used in 750 crates (65 directly)

MIT/Apache

46KB
935 lines

WARNING: THIS PROJECT IS IN MAINTENANCE MODE, DUE TO INSUFFICIENT MAINTAINER RESOURCES

It works fine, but will generally no longer be improved.

We are currently only accepting changes which:

  • keep this compiling with the latest versions of Rust or its dependencies.
  • have minimal review requirements, such as documentation changes (so not totally new APIs).

A HashMap wrapper that holds key-value pairs in insertion order.

Documentation is available at https://contain-rs.github.io/linked-hash-map/linked_hash_map.


lib.rs:

A HashMap wrapper that holds key-value pairs in insertion order.

Examples

use linked_hash_map::LinkedHashMap;

let mut map = LinkedHashMap::new();
map.insert(2, 20);
map.insert(1, 10);
map.insert(3, 30);
assert_eq!(map[&1], 10);
assert_eq!(map[&2], 20);
assert_eq!(map[&3], 30);

let items: Vec<(i32, i32)> = map.iter().map(|t| (*t.0, *t.1)).collect();
assert_eq!(items, [(2, 20), (1, 10), (3, 30)]);

Dependencies

~578KB