写了两个版本的js hashmap ,开始把java的仿写了一个,结果发现在遍历entry(偶用json做的链表)的时候特别的耗时,2000个左右的时候就会当掉, 内容比较多,发在附件了,没什么实用性.
后来直接用js 的数组做hash存储反到要好的多..代码不多,贴一下:
function fastHashMap(){ var size=0; var hashtable=new Array(); this.get=function(key){ return hashtable[key]; } this.put=function(key,obj){ if(hashtable[key]) size++; hashtable[key]=obj; } this.containskey=function(key){ return hashtable[key]; } this.size=function(){ return size; } }
用法 var map =new HashMap();
var obj={"id":"dddd","name":"dafadf"}
map.put(obj.id,obj);
.....