# HashMap HashMap 数据结构实现
## 源码 - [https://github.com/duke-git/lancet/blob/main/datastructure/hashmap/hashmap.go](https://github.com/duke-git/lancet/blob/main/datastructure/hashmap/hashmap.go)
## 用法 ```go import ( hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" ) ```
## 目录 - [HashMap](#hashmap) - [源码](#源码) - [用法](#用法) - [目录](#目录) - [API 文档](#api-文档) - [NewHashMap](#newhashmap) - [NewHashMapWithCapacity](#newhashmapwithcapacity) - [Get](#get) - [Put](#put) - [Delete](#delete) - [Contains](#contains)
## API 文档 ### NewHashMap

新建默认容量(1 << 10)的HashMap指针实例

函数签名: ```go func NewHashMap() *HashMap ``` 例子: ```go package main import ( "fmt" hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" ) func main() { hm := heap.NewHashMap() fmt.Println(hm) } ``` ### NewHashMapWithCapacity

新建指定容量和长度的HashMap指针实例.

函数签名: ```go func NewHashMapWithCapacity(size, capacity uint64) *HashMap ``` 例子: ```go package main import ( "fmt" hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" ) func main() { hm := heap.NewHashMapWithCapacity(uint64(100), uint64(1000)) fmt.Println(hm) } ``` ### Get

在hashmap中根据key获取值

函数签名: ```go func (hm *HashMap) Get(key any) any ``` 例子: ```go package main import ( "fmt" hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" ) func main() { hm := heap.NewHashMap() val := hm.Get("a") fmt.Println(val) //nil } ``` ### Put

将key-value放入hashmap中

函数签名: ```go func (hm *HashMap) Put(key any, value any) any ``` 例子: ```go package main import ( "fmt" hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" ) func main() { hm := heap.NewHashMap() hm.Put("a", 1) val := hm.Get("a") fmt.Println(val) //1 } ``` ### Delete

将指定的key从hashmap中删除

函数签名: ```go func (hm *HashMap) Delete(key any) ``` 例子: ```go package main import ( "fmt" hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" ) func main() { hm := heap.NewHashMap() hm.Put("a", 1) val := hm.Get("a") fmt.Println(val) //1 hm.Delete("a") val = hm.Get("a") fmt.Println(val) //nil } ``` ### Contains

判断hashmap中是否包含指定的key

函数签名: ```go func (hm *HashMap) Contains(key any) bool ``` 例子: ```go package main import ( "fmt" hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" ) func main() { hm := heap.NewHashMap() hm.Put("a", 1) fmt.Println(hm.Contains("a")) //true fmt.Println(hm.Contains("b")) //false } ```