跳轉到內容

BlitzMax/模組/資料結構/對映

來自華夏公益教科書

對映包含一組鍵值對。鍵和值可以是任何物件型別。 紅黑樹 用作資料結構。

對於有序的物件集合,請參見 連結串列

CreateMap

[編輯 | 編輯原始碼]

函式 CreateMap:TMap()

描述: 建立一個對映

返回值: 一個新的對映物件

函式 ClearMap( map:TMap )

描述: 清除一個對映

資訊: ClearMapmap 中刪除所有鍵和值

MapIsEmpty

[編輯 | 編輯原始碼]

函式 MapIsEmpty( map:TMap )

描述: 檢查一個對映是否為空

返回值: 如果 map 為空,則返回 True,否則返回 False

MapInsert

[編輯 | 編輯原始碼]

函式 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

[編輯 | 編輯原始碼]

函式 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

[編輯 | 編輯原始碼]

函式 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

[編輯 | 編輯原始碼]

函式 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

[編輯 | 編輯原始碼]

函式 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"))
華夏公益教科書