From 294bd5a5ed848f254e08ba02c986970a35e8a1b6 Mon Sep 17 00:00:00 2001 From: dudaodong Date: Tue, 11 Oct 2022 15:41:09 +0800 Subject: [PATCH] doc: update document for hashmap --- docs/datastructure/hashmap.md | 105 ++++++++++++++++++++++++++++ docs/datastructure/hashmap_zh-CN.md | 105 +++++++++++++++++++++++++++- 2 files changed, 209 insertions(+), 1 deletion(-) diff --git a/docs/datastructure/hashmap.md b/docs/datastructure/hashmap.md index 8ffe764..8db7e85 100644 --- a/docs/datastructure/hashmap.md +++ b/docs/datastructure/hashmap.md @@ -29,6 +29,9 @@ import ( - [Put](#Put) - [Delete](#Delete) - [Contains](#Contains) +- [Iterate](#Iterate) +- [Keys](#Keys) +- [Values](#Values)
@@ -207,3 +210,105 @@ func main() { fmt.Println(hm.Contains("b")) //false } ``` + + + +### Iterate + +

Executes iteratee funcation for every key and value pair of hashmap.

+ +Signature: + +```go +func (hm *HashMap) Iterate(iteratee func(key, value any)) +``` + +Example: + +```go +package main + +import ( + "fmt" + hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" +) + +func main() { + hm := heap.NewHashMap() + hm.Put("a", 1) + hm.Put("b", 2) + hm.Put("c", 3) + + hm.Iterate(func(key, value any) { + fmt.Println(key) + fmt.Println(value) + }) +} +``` + + + +### Keys + +

Return a slice of the hashmap's keys (random order).

+ +Signature: + +```go +func (hm *HashMap) Keys() []any +``` + +Example: + +```go +package main + +import ( + "fmt" + hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" +) + +func main() { + hm := heap.NewHashMap() + hm.Put("a", 1) + hm.Put("b", 2) + hm.Put("c", 3) + + keys := hm.Keys() + fmt.Println(keys) //[]interface{"a", "b", "c"} +} +``` + + +### Values + +

Return a slice of the hashmap's values (random order).

+ +Signature: + +```go +func (hm *HashMap) Values() []any +``` + +Example: + +```go +package main + +import ( + "fmt" + hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" +) + +func main() { + hm := heap.NewHashMap() + hm.Put("a", 1) + hm.Put("b", 2) + hm.Put("c", 3) + + values := hm.Values() + fmt.Println(values) //[]interface{2, 1, 3} +} +``` + + diff --git a/docs/datastructure/hashmap_zh-CN.md b/docs/datastructure/hashmap_zh-CN.md index 8bf5497..071e5bd 100644 --- a/docs/datastructure/hashmap_zh-CN.md +++ b/docs/datastructure/hashmap_zh-CN.md @@ -24,11 +24,13 @@ import ( - [NewHashMap](#NewHashMap) - [NewHashMapWithCapacity](#NewHashMapWithCapacity) - - [Get](#Get) - [Put](#Put) - [Delete](#Delete) - [Contains](#Contains) +- [Iterate](#Iterate) +- [Keys](#Keys) +- [Values](#Values)
@@ -203,3 +205,104 @@ func main() { fmt.Println(hm.Contains("b")) //false } ``` + + +### Iterate + +

迭代hashmap,对每个key和value执行iteratee函数

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

返回hashmap所有key的切片 (随机顺序)

+ +函数签名: + +```go +func (hm *HashMap) Keys() []any +``` + +例子: + +```go +package main + +import ( + "fmt" + hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" +) + +func main() { + hm := heap.NewHashMap() + hm.Put("a", 1) + hm.Put("b", 2) + hm.Put("c", 3) + + keys := hm.Keys() + fmt.Println(keys) //[]interface{"a", "b", "c"} +} +``` + + +### Values + +

返回hashmap所有值的切片 (随机顺序).

+ +函数签名: + +```go +func (hm *HashMap) Values() []any +``` + +例子: + +```go +package main + +import ( + "fmt" + hashmap "github.com/duke-git/lancet/v2/datastructure/hashmap" +) + +func main() { + hm := heap.NewHashMap() + hm.Put("a", 1) + hm.Put("b", 2) + hm.Put("c", 3) + + values := hm.Values() + fmt.Println(values) //[]interface{2, 1, 3} +} +``` + +