lua中高效的HashMap
hash保存键->值引用,在lua中引用只能是string,所以我实现了一个键可以是table的HashMap。
下面请看代码:
--[[
--HashMap
--1. 支持添加 长整型量级 次元素,更多就溢出了
--2. HashMap 的实例数目也是 长整型量级 限制的
@author xiaowa
@date 2015.5.17
--]]
local HashMap = HashMap or class("HashMap")
--HashMap 的实例编号
HashMap.Instance_num = HashMap.Instance_num or 0
function HashMap:ctor()
self.element_count_ = 0
self.map_key_ = {}
self.map_value_ = {}
--用于存字符串key 的表
self.map_strIskey_ = {}
--hashmap 实例 id 号
self.class.Instance_num = self.class.Instance_num+1
self.map_id_ = self.class.Instance_num
end
--[[
@function 为hashmap 添加元素
@reutrn nil
--]]
function HashMap:setElement(key,value)
assert(type