hashmap

package
v0.0.0-...-0158116 Latest Latest
Warning

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

Go to latest
Published: Apr 18, 2024 License: GPL-3.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BatchGet

func BatchGet(h HashInterface, d map[string]string)

func BatchPut

func BatchPut(h HashInterface, d map[string]string)

Types

type HashInterface

type HashInterface interface {
	Put(key string, value string)
	Get(key string) string
}

type KeyValue

type KeyValue struct {
	Key   string
	Value string
}

开放寻址

type LinkHash

type LinkHash struct {
	List []*LinkNode
}

func NewLinkHash

func NewLinkHash(cap int) *LinkHash

func (*LinkHash) Get

func (lh *LinkHash) Get(key string) string

func (*LinkHash) Put

func (lh *LinkHash) Put(key string, value string)

type LinkNode

type LinkNode struct {
	Key   string
	Value string
	Next  *LinkNode
}

分离链表法

func NewLinkNode

func NewLinkNode() *LinkNode

func (*LinkNode) Add

func (node *LinkNode) Add(key string, value string)

func (*LinkNode) Find

func (node *LinkNode) Find(key string) *LinkNode

type LinkReHash

type LinkReHash struct {
	List []*LinkNode
	Len  int
}

func NewLinkReHash

func NewLinkReHash(cap int) *LinkReHash

func (*LinkReHash) Get

func (lh *LinkReHash) Get(key string) string

func (*LinkReHash) Put

func (lh *LinkReHash) Put(key string, value string)

type OpenAddrHash

type OpenAddrHash struct {
	List []KeyValue
}

func NewOpenAddrHash

func NewOpenAddrHash(cap int) *OpenAddrHash

func (*OpenAddrHash) Get

func (h *OpenAddrHash) Get(key string) string

func (*OpenAddrHash) Put

func (h *OpenAddrHash) Put(key string, value string)

Jump to

Keyboard shortcuts

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