lua中高效的HashMap

本文介绍了在Lua中如何实现一个高效且键可以为table的HashMap,详细解析了相关源码,探讨了在Lua中处理非字符串键的HashMap实现。
摘要由CSDN通过智能技术生成
                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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值