A LinkedMapSet
is an extension to MapSet
that maintains ordering.
It does this by keeping pointers to previous and next elements based on insert order.
I built this to have a collection I can traverse in either direction, but also be able to remove items in less-than-linear time. I also didn't want something that needed to be sorted or rebalanced after each addition or removal.
This uses Map
underneath, much like
MapSet
, so removing arbitrary items
can happen in logarithmic time, rather than linear time that most sorted
collections incur.
def deps do
[
{:linked_map_set, "~> 0.1.0"}
]
end
See the documentation for API reference and examples.