
#演示 HashMap<k, v> 的使用


#预处理函数: 可配置 MKScript 脚本加载后自动运行
#mkscript_config_auto_start()


#预处理函数: 初始化MKScript窗口大小
mkscript_window_initial_size(500, 400)

#申明一个 hashmap 变量: map
HashMap<int, string> map
 
#设置键(key)与值(value)的映射关系
hashmap_put(map, 1, "one")
hashmap_put(map, 2, "two")
hashmap_put(map, 3, "three")
 
#迭代 map 中所有 key
Iterator<int> iKeys = hashmap_keys(map)
loop iterator_has_next(iKeys) == mkTrue
    println("key:" + iterator_next(iKeys))
endloop


 
#换行
println("")
 
#迭代 map 中所有 value
Iterator<string> iValues = hashmap_values(map)
loop iterator_has_next(iValues) == mkTrue
    println("value:" + iterator_next(iValues))
endloop
 
#换行
println("")
 
#迭代器恢复到原点，使迭代器(iKeys)可重复使用。
iterator_jump_origin(iKeys)
 
#迭代 map 中所有 key 并输出对应的 value
loop iterator_has_next(iKeys) == mkTrue
 
    int key = iterator_next(iKeys)
    string value = hashmap_get(map, key)    
 
    println("key:" + key + ", value:" + value)
 
endloop
