BlitzMax/模块/数据结构/映射
映射包含一组键值对。键和值可以是任何对象类型。 红黑树 用作数据结构。
对于有序的对象集合,请参见 链表。
函数 CreateMap:TMap()
描述: 创建一个映射
返回值: 一个新的映射对象
函数 ClearMap( map:TMap )
描述: 清除一个映射
信息: ClearMap 从 map 中删除所有键和值
函数 MapIsEmpty( map:TMap )
描述: 检查一个映射是否为空
返回值: 如果 map 为空,则返回 True,否则返回 False
函数 MapInsert( map:TMap,key:Object,value:Object )
描述: 将键值对插入到映射中
信息: 如果 map 已经包含 key,它的值将被 value 覆盖。
示例:
' mapinsert.bmx Local map:TMap = CreateMap() MapInsert(map, "Key 1", "Value 1") Print MapIsEmpty(map) ClearMap(map) Print MapIsEmpty(map)
函数 MapValueForKey:Object( map:TMap,key:Object )
描述: 给定一个键查找一个值
返回值: 与 key 关联的值
信息: 如果 map 不包含 key,则返回一个 Null 对象。
示例:
' mapvalueforkey.bmx Local map:TMap = CreateMap() MapInsert(map, "Key 1", "Value 1") Print String(MapValueForKey(map, "Key 1"))
函数 MapContains( map:TMap,key:Object )
描述: 检查一个映射是否包含一个键
返回值: 如果 map 包含 key 则为 True
示例:
'mapcontains.bmx Local map:TMap = CreateMap() MapInsert(map, "Key 1", "Value 1") Print MapContains(map, "Key 1") Print MapContains(map, "Key 2")
函数 MapRemove( map:TMap,key:Object )
描述: 从映射中删除键值对
注释: 与 TMap 的 Remove 方法不同,此函数不返回键值对是否被删除。
示例:
' mapremove.bmx Local map:TMap = CreateMap() MapInsert(map, "Key 1", "Value 1") Print MapContains(map, "Key 1") MapRemove(map, "Key 1") Print MapContains(map, "Key 1")
函数 MapKeys:TMapEnumerator( map:TMap )
描述: 获取映射键
返回值: 一个迭代器对象
信息: MapKeys 返回的对象可以与 EachIn 一起使用来迭代 map 中的键。
示例:
' mapkeys.bmx Local map:TMap = CreateMap() MapInsert(map, "Key 1", "Value 1") MapInsert(map, "Key 2", "Value 2") Local obj:Object For obj = EachIn MapKeys(map) Print(String(obj) + "," + String(MapValueForKey(map, obj))) Next
函数 MapValues:TMapEnumerator( map:TMap )
描述: 获取映射值
返回值: 一个迭代器对象
信息: MapValues 返回的对象可以与 EachIn 一起使用来迭代 map 中的值。
示例:
' mapvalues.bmx Local map:TMap = CreateMap() MapInsert(map, "Key 1", "Value 1") MapInsert(map, "Key 2", "Value 2") Local obj:Object For obj = EachIn MapValues(map) Print String(obj) Next
函数 CopyMap:TMap( map:TMap )
描述: 复制一个映射
返回值: map 的副本
示例:
' copymap.bmx Local map:TMap = CreateMap() MapInsert(map, "Key 1", "Value 1") Local map2:TMap = CopyMap(map) Print String(MapValueForKey(map2, "Key 1"))