#multimap #ordered

no-std ordered-multimap

Insertion ordered multimap

15 unstable releases (5 breaking)

0.7.1 Oct 24, 2023
0.6.0 Jan 22, 2023
0.5.0 Aug 25, 2022
0.4.3 Mar 18, 2022
0.2.0 Nov 24, 2018

#80 in Data structures

Download history 142372/week @ 2023-08-16 146992/week @ 2023-08-23 128508/week @ 2023-08-30 141065/week @ 2023-09-06 156847/week @ 2023-09-13 137935/week @ 2023-09-20 121974/week @ 2023-09-27 137684/week @ 2023-10-04 150175/week @ 2023-10-11 148170/week @ 2023-10-18 152850/week @ 2023-10-25 170756/week @ 2023-11-01 176387/week @ 2023-11-08 180660/week @ 2023-11-15 145604/week @ 2023-11-22 126055/week @ 2023-11-29

664,538 downloads per month
Used in 219 crates (5 directly)

MIT license

3.5K SLoC


Crates.io Docs.rs CI

Currently, this crate contains a single type ListOrderedMultimap. This is a multimap meaning that multiple values can be associated with a given key, but it also maintains insertion order across all keys and values.



Basic benchmarks show that the performance of this crate is on par with that of the multimap crate which does not maintain insertion order.


  • std (default) enables usage of the standard library. Disabling this features allows this crate to be used in no_std environments.
  • serde for (de)serialization.


It is planned that a corresponding SetOrderedMultimap will also be included in this crate which will provide the same insertion order guarantees, but the set of values associated to a given key will be an actual set instead of a list.


Licensed under MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT).


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be licensed as above, without any additional terms or conditions.



~18K SLoC