gods: github.com/emirpasic/gods/maps/hashbidimap Index | Files

package hashbidimap

import "github.com/emirpasic/gods/maps/hashbidimap"

Package hashbidimap implements a bidirectional map backed by two hashmaps.

A bidirectional map, or hash bag, is an associative data structure in which the (key,value) pairs form a one-to-one correspondence. Thus the binary relation is functional in each direction: value can also act as a key to key. A pair (a,b) thus provides a unique coupling between 'a' and 'b' so that 'b' can be found when 'a' is used as a key and 'a' can be found when 'b' is used as a key.

Elements are unordered in the map.

Structure is not thread safe.

Reference: https://en.wikipedia.org/wiki/Bidirectional_map


Package Files

hashbidimap.go serialization.go

type Map Uses

type Map struct {
    // contains filtered or unexported fields

Map holds the elements in two hashmaps.

func New Uses

func New() *Map

New instantiates a bidirectional map.

func (*Map) Clear Uses

func (m *Map) Clear()

Clear removes all elements from the map.

func (*Map) Empty Uses

func (m *Map) Empty() bool

Empty returns true if map does not contain any elements

func (*Map) FromJSON Uses

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

FromJSON populates the map from the input JSON representation.

func (*Map) Get Uses

func (m *Map) Get(key interface{}) (value interface{}, 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) GetKey Uses

func (m *Map) GetKey(value interface{}) (key interface{}, found bool)

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

func (*Map) Keys Uses

func (m *Map) Keys() []interface{}

Keys returns all keys (random order).

func (*Map) Put Uses

func (m *Map) Put(key interface{}, value interface{})

Put inserts element into the map.

func (*Map) Remove Uses

func (m *Map) Remove(key interface{})

Remove removes the element from the map by key.

func (*Map) Size Uses

func (m *Map) Size() int

Size returns number of elements in the map.

func (*Map) String Uses

func (m *Map) String() string

String returns a string representation of container

func (*Map) ToJSON Uses

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

ToJSON outputs the JSON representation of the map.

func (*Map) Values Uses

func (m *Map) Values() []interface{}

Values returns all values (random order).

Package hashbidimap imports 5 packages (graph) and is imported by 23 packages. Updated 2018-09-25. Refresh now. Tools for package owners.