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"))