class Map
constructor : ->
@entry = {}
@count = 0
size : ->
return @count
isEmpty : ->
return @count == 0
containsKey : (key) ->
if @isEmpty()
return false
return @entry.hasOwnProperty key
containsValue : (val)->
if @isEmpty()
return false
for key,_val of @entry
if _val == val
return true
return false
get : (key)->
if @isEmpty()
return null
if @containsKey key
return @entry[key]
return null
put : (key, val)->
if !@entry.hasOwnProperty key
@count += 1;
@entry[key] = val
return @
remove : (key)->
if @isEmpty()
return false
if @containsKey key
delete @entry[key]
@count -= 1
return true
return false
putAll : (map)->
if !map instanceof Map
return false
entry = map.entry
for key,val of entry
@put(key, val)
return true
clear : ->
@entry = {}
@count = 0
return @
values : ->
vals = []
for key,val of @entry
vals.push val
return vals
keySet : ->
keys = []
for key,val of @entry
keys.push key
return keys
entrySet : ->
return @entry
toString : ->
if typeof JSON == "undefined"
throw new Error "JSON object is not supported. Please check your browser version (IE8+, Firefox11+, Chrome19+, Safari5.1+)."
return JSON.stringify @entry
valueOf : ->
return @toString()
map.coffee
最新推荐文章于 2022-03-24 10:08:28 发布