日期:2014-05-16  浏览次数:20370 次

js 实现HashMap
    
    /**
	  *	定义HashMap
	  */
    
    var HashMap = function(){      
	     /** Map 大小 **/     
	     var size = 0;      
	     /** 对象 **/     
	     var entry = new Object();      
	           
	     /** 存 **/     
	     this.put = function (key , value)      
	     {      
	         if(!this.containsKey(key))      
	         {      
	             size ++ ;      
	         }      
	         entry[key] = value;      
	     }      
	           
	     /** 取 **/     
	     this.get = function (key)      
	     {      
	         return this.containsKey(key) ? entry[key] : null;      
	     }      
	           
	     /** 删除 **/     
	     this.remove = function ( key )      
	     {      
	         if( this.containsKey(key) && ( delete entry[key] ) )      
	         {      
	             size --;      
	         }      
	     }      
	           
	     /** 是否包含 Key **/     
	     this.containsKey = function ( key )      
	     {      
	         return (key in entry);      
	     }      
	           
	     /** 是否包含 Value **/     
	     this.containsValue = function ( value )      
	     {      
	         for(var prop in entry)      
	         {      
	             if(entry[prop] == value)      
	             {      
	                 return true;      
	             }      
	         }      
	         return false;      
	     }      
	           
	     /** 所有 Value **/     
	     this.values = function ()      
	     {      
	         var values = new Array();      
	         for(var prop in entry)      
	         {      
	             values.push(entry[prop]);      
	         }      
	         return values;      
	     }      
	           
	     /** 所有 Key **/     
	    this.keys = function ()      
	     {      
	         var keys = new Array();      
	         for(var prop in entry)      
	         {      
	             keys.push(prop);      
	         }      
	         return keys;      
	     }      
	           
	     /** Map Size **/     
	     this.size = function ()      
	     {      
	         return size;      
	     }      
	           
	     /* 清空 */     
	     this.clear = function ()      
	     {      
	         size = 0;      
	         entry = new Object();      
	     }      
	 }

?