package hashmap
import "src.elv.sh/pkg/persistent/hashmap"
Package hashmap implements persistent hashmap.
Index ¶
Functions ¶
func HasKey ¶
HasKey reports whether a Map has the given key.
Types ¶
type Equal ¶
Equal is the type of a function that reports whether two keys are equal.
type Hash ¶
Hash is the type of a function that returns the hash code of a key.
type Iterator ¶
type Iterator interface { // Elem returns the current key-value pair. Elem() (any, any) // HasElem returns whether the iterator is pointing to an element. HasElem() bool // Next moves the iterator to the next position. Next() }
Iterator is an iterator over map elements. It can be used like this:
for it := m.Iterator(); it.HasElem(); it.Next() { key, value := it.Elem() // do something with elem... }
type Map ¶
type Map interface { json.Marshaler // Len returns the length of the map. Len() int // Index returns whether there is a value associated with the given key, and // that value or nil. Index(k any) (any, bool) // Assoc returns an almost identical map, with the given key associated with // the given value. Assoc(k, v any) Map // Dissoc returns an almost identical map, with the given key associated // with no value. Dissoc(k any) Map // Iterator returns an iterator over the map. Iterator() Iterator }
Map is a persistent associative data structure mapping keys to values. It is immutable, and supports near-O(1) operations to create modified version of the map that shares the underlying data structure. Because it is immutable, all of its methods are safe for concurrent use.
func New ¶
New takes an equality function and a hash function, and returns an empty Map.
Source Files ¶
hashmap.go map.go
- Version
- v0.21.0 (latest)
- Published
- Aug 13, 2024
- Platform
- linux/amd64
- Imports
- 6 packages
- Last checked
- 1 day ago –
Tools for package owners.