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(i int) (value TValue, found bool)
- func (it *Iterator[TKey, TValue]) GetAtKey(key TKey) (value TValue, found bool)
- func (it *Iterator[TKey, TValue]) GetKey() (index TKey, found bool)
- func (it *Iterator[TKey, TValue]) Index() (index int, 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(n int) bool
- func (it *Iterator[TKey, TValue]) MoveToKey(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 int, value TValue) bool
- func (it *Iterator[TKey, TValue]) SetAtKey(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.ReadForIndexIterator[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(position int, size 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
func (*Iterator[TKey, TValue]) IsAfter ¶ added in v0.16.3
func (it *Iterator[TKey, TValue]) IsAfter(other ds.OrderedIterator) bool
func (*Iterator[TKey, TValue]) IsBefore ¶ added in v0.16.3
func (it *Iterator[TKey, TValue]) IsBefore(other ds.OrderedIterator) bool
func (*Iterator[TKey, TValue]) IsEqual ¶ added in v0.16.3
func (it *Iterator[TKey, TValue]) IsEqual(other ds.ComparableIterator) bool
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.ReadForIndexIterator[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]
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]
func (*Map[TKey, TValue]) First ¶ added in v0.16.3
func (m *Map[TKey, TValue]) First() ds.ReadWriteOrdCompBidRandCollIterator[TKey, TValue]
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]
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