local oo = require "Class" local Queue = oo.class() --初始化 function Queue:ctor() self.list = {} self.map = {} self.Count = 0 end --入队 function Queue:EnQueue( key , value ) if not key or not value then return false end if not self.map[ key ] then table.insert(self.list, { key = key , value = value }) self.Count = self.Count + 1 self.map[ key ] = true return true end return false end --出队 function Queue:DeQueue() if self.Count == 0 then return nil end local item = self.list[1] table.remove(self.list, 1) self.map[ item.key ] = nil self.Count = self.Count - 1 return item end --查看 function Queue:Peek() if self.Count == 0 then return nil end return self.list[1] end --是否存在 function Queue:IsExist( key ) if self.map[ key ] then return true end return false end --获取数量 function Queue:GetCount( key ) return self.Count end return Queue