hashmap

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 12, 2022 License: BSD-2-Clause, ISC Imports: 5 Imported by: 1

Documentation

Overview

Package hashmap implements a map backed by a hash table.

Elements are unordered in the map.

Structure is not thread safe.

Reference: http://en.wikipedia.org/wiki/Associative_array

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Map

type Map[TKey comparable, TValue any] struct {
	// contains filtered or unexported fields
}

Map holds the elements in go's native map.

func New

func New[TKey comparable, TValue any]() *Map[TKey, TValue]

TODO: Implement NewFromMap() method which only copies map and not items New instantiates a hash map.

func (*Map[TKey, TValue]) Clear

func (m *Map[TKey, TValue]) Clear()

Clear removes all elements from the map.

func (*Map[TKey, TValue]) FromJSON

func (m *Map[TKey, TValue]) FromJSON(data []byte) error

FromJSON populates the map from the input JSON representation.

func (*Map[TKey, TValue]) Get

func (m *Map[TKey, TValue]) Get(key TKey) (value TValue, found bool)

Get searches the element in the map by key and returns its value or nil if key is not found in map. Second return parameter is true if key was found, otherwise false.

func (*Map[TKey, TValue]) GetValues added in v0.3.0

func (m *Map[TKey, TValue]) GetValues() []TValue

Values returns all values (random order).

func (*Map[TKey, TValue]) IsEmpty added in v0.3.0

func (m *Map[TKey, TValue]) IsEmpty() bool

Empty returns true if map does not contain any elements.

func (*Map[TKey, TValue]) Keys

func (m *Map[TKey, TValue]) Keys() []TKey

Keys returns all keys (random order).

func (*Map[TKey, TValue]) MarshalJSON

func (m *Map[TKey, TValue]) MarshalJSON() ([]byte, error)

MarshalJSON @implements json.Marshaler

func (*Map[TKey, TValue]) MergeWith added in v0.3.0

func (m *Map[TKey, TValue]) MergeWith(other *maps.Map[TKey, TValue]) bool

func (*Map[TKey, TValue]) MergeWithSafe added in v0.3.0

func (m *Map[TKey, TValue]) MergeWithSafe(other *maps.Map[TKey, TValue], overwriteOriginal bool)

func (*Map[TKey, TValue]) Put

func (m *Map[TKey, TValue]) Put(key TKey, value TValue)

Put inserts element into the map.

func (*Map[TKey, TValue]) Remove

func (m *Map[TKey, TValue]) Remove(key TKey)

Remove removes the element from the map by key.

func (*Map[TKey, TValue]) Size

func (m *Map[TKey, TValue]) Size() int

Size returns number of elements in the map.

func (*Map[TKey, TValue]) ToJSON

func (m *Map[TKey, TValue]) ToJSON() ([]byte, error)

ToJSON outputs the JSON representation of the map.

func (*Map[TKey, TValue]) ToString added in v0.3.0

func (m *Map[TKey, TValue]) ToString() string

String returns a string representation of container.

func (*Map[TKey, TValue]) UnmarshalJSON

func (m *Map[TKey, TValue]) UnmarshalJSON(bytes []byte) error

UnmarshalJSON @implements json.Unmarshaler

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL