#data-structures

linked-hash-map

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

23 releases

Uses old Rust 2015

0.5.6 Jun 25, 2022
0.5.4 Jan 8, 2021
0.5.3 May 6, 2020
0.5.2 Mar 21, 2019
0.0.2 Mar 26, 2015

#111 in Database interfaces

Download history 377927/week @ 2022-06-04 377556/week @ 2022-06-11 373836/week @ 2022-06-18 396385/week @ 2022-06-25 365095/week @ 2022-07-02 414693/week @ 2022-07-09 439895/week @ 2022-07-16 456110/week @ 2022-07-23 450965/week @ 2022-07-30 449795/week @ 2022-08-06 427142/week @ 2022-08-13 417216/week @ 2022-08-20 419759/week @ 2022-08-27 434828/week @ 2022-09-03 416372/week @ 2022-09-10 343604/week @ 2022-09-17

1,675,225 downloads per month
Used in 4,389 crates (188 directly)

MIT/Apache

51KB
1K SLoC

Rust CI crates.io

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:

  • fix correctness issues
  • 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://docs.rs/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

~87KB