表 map
1 概述
本章节涵盖 map表的概念,表的创建、增删改查,隐式行为,底层的内存拓展机制以及指向表相关操作的文档链接。
本章节内容主要面向需要学习 GS map 表的基础概念,了解 GS 表的基础操作,了解 GS 标的底层内存拓展机制 GS 编程初学者。
在阅读完本章节后应掌握表的概念、表的使用场景、表的创建、增删改查,以及表的隐式行为及内存拓展机制,提升表的性能优化理解。
2 表的概念
GS 中的 map表是通过哈希表(Hash Table)实现的,是一种使用哈希函数将键(Key,如名字、ID)快速映射到存储位置,从而实现高效数据存储和查找的数据结构。
你可以把它想象成一个有很多抽屉的柜子,每个抽屉都有编号。存放东西时,根据东西的“名字”(键)通过一个特定规则(哈希函数)算出它应该放在哪个抽屉里。找东西时,再用同样的规则直接去那个抽屉拿,非常快。
2.1 核心概念
- 键值对存储:每个元素由键(Key)和值(Value)组成,键是唯一的标识符,值是与键关联的数据。
- 哈希函数:通过哈希函数将键转换为数组索引,实现快速访问。
- 动态扩展:表的大小可以根据需要动态调整,无需预先指定容量。
2.2 典型使用场景
- 配置管理:存储程序的配置参数,如
{"host": "localhost", "port": 8080}。 - 数据缓存:缓存频繁访问的数据,提高查询效率。
- 字典映射:实现单词翻译、ID到对象的映射等功能。
- 游戏开发:存储游戏角色的属性、物品的详细信息等。
一个简单的使用场景实例如下:
// 示例:使用 map 存储游戏角色属性
map character = {
"name": "Knight",
"health": 100,
"attack": 20,
"defense": 10
};
writeln(character);
示例2-1:表的使用场景示例