Documentation
¶
Overview ¶
Package linkedhashmap is a map that preserves insertion-order.
It is backed by a hash table to store values and doubly-linked list to store ordering.
Structure is not thread safe.
Index ¶
- type Iterator
- func (it *Iterator[TKey, TValue]) DistanceTo(other ds.OrderedIterator) int
- func (it *Iterator[TKey, TValue]) Get() (value TValue, found bool)
- func (it *Iterator[TKey, TValue]) GetAt(key TKey) (value TValue, found bool)
- func (it *Iterator[TKey, TValue]) Index() (index TKey, found bool)
- func (it *Iterator[TKey, TValue]) IsAfter(other ds.OrderedIterator) bool
- func (it *Iterator[TKey, TValue]) IsBefore(other ds.OrderedIterator) bool
- func (it *Iterator[TKey, TValue]) IsBegin() bool
- func (it *Iterator[TKey, TValue]) IsEnd() bool
- func (it *Iterator[TKey, TValue]) IsEqual(other ds.ComparableIterator) bool
- func (it *Iterator[TKey, TValue]) IsFirst() bool
- func (it *Iterator[TKey, TValue]) IsLast() bool
- func (it *Iterator[TKey, TValue]) IsValid() bool
- func (it *Iterator[TKey, TValue]) MoveBy(n int) bool
- func (it *Iterator[TKey, TValue]) MoveTo(key TKey) bool
- func (it *Iterator[TKey, TValue]) Next() bool
- func (it *Iterator[TKey, TValue]) NextN(i int) bool
- func (it *Iterator[TKey, TValue]) Previous() bool
- func (it *Iterator[TKey, TValue]) PreviousN(n int) bool
- func (it *Iterator[TKey, TValue]) Set(value TValue) bool
- func (it *Iterator[TKey, TValue]) SetAt(i TKey, value TValue) bool
- func (it *Iterator[TKey, TValue]) Size() int
- type Map
- func New[TKey comparable, TValue any]() *Map[TKey, TValue]
- func NewFromIterator[TKey comparable, TValue any](begin ds.ReadCompForIndexIterator[TKey, TValue]) *Map[TKey, TValue]
- func NewFromIterators[TKey comparable, TValue any](begin ds.ReadCompForIndexIterator[TKey, TValue], ...) *Map[TKey, TValue]
- func NewFromMap[TKey comparable, TValue any](map_ map[TKey]TValue) *Map[TKey, TValue]
- func (m *Map[TKey, TValue]) Begin() ds.ReadWriteOrdCompBidRandCollIterator[TKey, TValue]
- func (m *Map[TKey, TValue]) Clear()
- func (m *Map[TKey, TValue]) End() ds.ReadWriteOrdCompBidRandCollIterator[TKey, TValue]
- func (m *Map[TKey, TValue]) First() ds.ReadWriteOrdCompBidRandCollIterator[TKey, TValue]
- func (m *Map[TKey, TValue]) FromJSON(data []byte) error
- func (m *Map[TKey, TValue]) Get(key TKey) (value TValue, found bool)
- func (m *Map[TKey, TValue]) GetKeys() []TKey
- func (m *Map[TKey, TValue]) GetValues() []TValue
- func (m *Map[TKey, TValue]) IsEmpty() bool
- func (m *Map[TKey, TValue]) Last() ds.ReadWriteOrdCompBidRandCollIterator[TKey, TValue]
- func (m *Map[TKey, TValue]) MarshalJSON() ([]byte, error)
- func (m *Map[TKey, TValue]) MergeWith(other *maps.Map[TKey, TValue]) bool
- func (m *Map[TKey, TValue]) MergeWithSafe(other *maps.Map[TKey, TValue], overwriteOriginal bool)
- func (m *Map[TKey, TValue]) NewIterator(s *Map[TKey, TValue], position int) *Iterator[TKey, TValue]
- func (m *Map[TKey, TValue]) Put(key TKey, value TValue)
- func (m *Map[TKey, TValue]) Remove(comparator utils.Comparator[TKey], key TKey)
- func (m *Map[TKey, TValue]) Size() int
- func (m *Map[TKey, TValue]) ToJSON() ([]byte, error)
- func (m *Map[TKey, TValue]) ToString() string
- func (m *Map[Tkey, TValue]) UnmarshalJSON(bytes []byte) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Iterator ¶
type Iterator[TKey comparable, TValue any] struct { // contains filtered or unexported fields }
func (*Iterator[TKey, TValue]) DistanceTo ¶ added in v0.16.3
func (it *Iterator[TKey, TValue]) DistanceTo(other ds.OrderedIterator) int
DistanceTo implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) Get ¶ added in v0.16.3
Get implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) GetAt ¶ added in v0.16.3
GetAt implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) Index ¶ added in v0.16.3
Index implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) IsAfter ¶ added in v0.16.3
func (it *Iterator[TKey, TValue]) IsAfter(other ds.OrderedIterator) bool
IsAfter implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) IsBefore ¶ added in v0.16.3
func (it *Iterator[TKey, TValue]) IsBefore(other ds.OrderedIterator) bool
IsBefore implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) IsBegin ¶ added in v0.16.3
IsBegin implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) IsEnd ¶ added in v0.16.3
IsEnd implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) IsEqual ¶ added in v0.16.3
func (it *Iterator[TKey, TValue]) IsEqual(other ds.ComparableIterator) bool
IsEqual implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) IsFirst ¶ added in v0.16.3
IsFirst implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) IsLast ¶ added in v0.16.3
IsLast implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) IsValid ¶ added in v0.16.3
IsValid implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) MoveBy ¶ added in v0.16.3
MoveBy implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) MoveTo ¶ added in v0.16.3
MoveTo implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) NextN ¶ added in v0.16.3
NextN implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) Previous ¶ added in v0.16.3
Previous implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) PreviousN ¶ added in v0.16.3
PreviousN implements ds.ReadWriteOrdCompBidRandCollIterator
func (*Iterator[TKey, TValue]) Set ¶ added in v0.16.3
Set implements ds.ReadWriteOrdCompBidRandCollIterator
type Map ¶
type Map[TKey comparable, TValue any] struct { // contains filtered or unexported fields }
Map holds the elements in a regular hash table, and uses doubly-linked list to store key ordering.
func New ¶
func New[TKey comparable, TValue any]() *Map[TKey, TValue]
New instantiates a linked-hash-map.
func NewFromIterator ¶ added in v0.16.3
func NewFromIterator[TKey comparable, TValue any](begin ds.ReadCompForIndexIterator[TKey, TValue]) *Map[TKey, TValue]
NewFromIterator instantiates a new set containing the elements provided by the passed iterator.
func NewFromIterators ¶ added in v0.16.3
func NewFromIterators[TKey comparable, TValue any](begin ds.ReadCompForIndexIterator[TKey, TValue], end ds.CompIndexIterator[TKey]) *Map[TKey, TValue]
NewFromIterators instantiates a new set containing the elements provided by first, until it is equal to end. end is a sentinel and not included.
func NewFromMap ¶ added in v0.16.3
func NewFromMap[TKey comparable, TValue any](map_ map[TKey]TValue) *Map[TKey, TValue]
NewFromMap instantiates a new set from the provided slice.
func (*Map[TKey, TValue]) Begin ¶ added in v0.16.3
func (m *Map[TKey, TValue]) Begin() ds.ReadWriteOrdCompBidRandCollIterator[TKey, TValue]
OrderedBegin returns an initialized, reversed iterator, which points to one element before it's first. Unless Next() is called, the iterator is in an invalid state.
func (*Map[TKey, TValue]) Clear ¶
func (m *Map[TKey, TValue]) Clear()
Clear removes all elements from the map.
func (*Map[TKey, TValue]) End ¶ added in v0.16.3
func (m *Map[TKey, TValue]) End() ds.ReadWriteOrdCompBidRandCollIterator[TKey, TValue]
OrderedEnd returns an initialized,reversed iterator, which points to one element afrer it's last. Unless Previous() is called, the iterator is in an invalid state.
func (*Map[TKey, TValue]) First ¶ added in v0.16.3
func (m *Map[TKey, TValue]) First() ds.ReadWriteOrdCompBidRandCollIterator[TKey, TValue]
OrderedFirst returns an initialized, reversed iterator, which points to it's first element.
func (*Map[TKey, TValue]) Get ¶
Get searches the element in the map by key and returns its value or nil if key is not found in tree. Second return parameter is true if key was found, otherwise false. Key should adhere to the comparator's type assertion, otherwise method panics.
func (*Map[TKey, TValue]) GetKeys ¶ added in v0.4.0
func (m *Map[TKey, TValue]) GetKeys() []TKey
GetKeys returns all keys in-order
func (*Map[TKey, TValue]) GetValues ¶ added in v0.3.0
func (m *Map[TKey, TValue]) GetValues() []TValue
Values returns all values in-order based on the key.
func (*Map[TKey, TValue]) IsEmpty ¶ added in v0.3.0
Empty returns true if map does not contain any elements
func (*Map[TKey, TValue]) Last ¶ added in v0.16.3
func (m *Map[TKey, TValue]) Last() ds.ReadWriteOrdCompBidRandCollIterator[TKey, TValue]
OrderedLast returns an initialized, reversed iterator, which points to it's last element.
func (*Map[TKey, TValue]) MarshalJSON ¶
MarshalJSON @implements json.Marshaler
func (*Map[TKey, TValue]) MergeWithSafe ¶ added in v0.3.0
func (*Map[TKey, TValue]) NewIterator ¶ added in v0.16.3
func (*Map[TKey, TValue]) Put ¶
func (m *Map[TKey, TValue]) Put(key TKey, value TValue)
Put inserts key-value pair into the map. Key should adhere to the comparator's type assertion, otherwise method panics.
func (*Map[TKey, TValue]) Remove ¶
func (m *Map[TKey, TValue]) Remove(comparator utils.Comparator[TKey], key TKey)
Remove removes the element from the map by key. Key should adhere to the comparator's type assertion, otherwise method panics.
func (*Map[TKey, TValue]) ToString ¶ added in v0.3.0
String returns a string representation of container
func (*Map[Tkey, TValue]) UnmarshalJSON ¶
UnmarshalJSON @implements json.Unmarshaler