Crate flat_multimap
source ·Expand description
A multimap and multiset implementation using a flattened hash table.
FlatMultimap
is a multimap
implementation where entries are stored as a flattened hash map:
a -> 1
a -> 2
b -> 3
as opposed to the common implementation using a hash map which maps keys to a collection of values:
a -> 1, 2
b -> 3
FlatMultiset
is a multiset
implementation where items are stored as a flattened hash set:
a
a
b
as opposed to the common implementation using a hash map which maps items to a variable counting the number of occurances:
a -> 2
b -> 1
Storing elements as a flattened hash table can have the benefit that it saves space compared to the common implementations. This can be the case when there are very few duplicates and/or the size of the elements is very small.
Re-exports
pub use map::FlatMultimap;
pub use set::FlatMultiset;