基本介绍
支持并发安全开关选项的 map
容器,最常用的数据结构。该模块包含多个数据结构的 map
容器: HashMap
、 TreeMap
和 ListMap
。
类型 | 数据结构 | 平均复杂度 | 支持排序 | 有序遍历 | 说明 |
---|---|---|---|---|---|
HashMap | 哈希表 | O(1) | 否 | 否 | 高性能读写操作,内存占用较高,随机遍历 |
ListMap | 哈希表+双向链表 | O(2) | 否 | 是 | 支持按照写入顺序遍历,内存占用较高 |
TreeMap | 红黑树 | O(log N) | 是 | 是 | 内存占用紧凑,支持键名排序及有序遍历 |
tip
此外, gmap
模块支持多种以哈希表为基础数据结构的常见类型 map
定义: IntIntMap
、 IntStrMap
、 IntAnyMap
、 StrIntMap
、 StrStrMap
、 StrAnyMap
。
使用场景:
任何 map
/哈希表/关联数组使用场景,尤其是并发安全场景中。
使用方式:
import "github.com/gogf/gf/v2/container/gmap"
接口文档:
https://pkg.go.dev/github.com/gogf/gf/v2/container/gmap
相关文档
📄️ 字典类型-基本使用
GoFrame框架下gmap模块的基本使用方法,包括并发安全特性的开关操作,键值对的设置、查询和删除,以及数据结构的有序遍历、序列化与反序列化等内容,并提供了详细的代码示例与执行结果。
📄️ 字典类型-性能测试
针对字典类型的性能进行详细测试和分析。通过对GoFrame框架中的gmap与标准库sync.Map的性能比较,揭示在并发安全与非并发安全不同场景下的效率表现。包括不同类型map的性能基准测试,如HashMap、ListMap和TreeMap,提供开发者优化应用程序的实时参考。
📄️ 字典类型-方法介绍
GoFrame框架中AnyAnyMap的各种方法,包括创建、克隆、迭代、设置、删除和合并等操作。同时,还提供了代码示例以帮助理解这些方法的使用方式确保代码的并发安全性,更详细内容可参考GoFrame框架文档。