JavaScript实现Java的Map、List功能(其他论坛上看到的)

JavaScript实现Java的Map、List功能,如下代码

function HashMap(){ 

    this.size=0; 

    this.map=new Object(); 

 

HashMap.prototype.put=function(key,value){ 

    if(!this.map[key]){ 

        this.size++; 

    } 

    this.map[key]=value; 

}; 

HashMap.prototype.get=function(key){ 

    return this.isKey(key)?this.map[key]:null

}; 

HashMap.prototype.isKey=function(key){ 

    return (key in this.map); 

}; 

HashMap.prototype.remove=function(key){ 

  ifthis.isKey(key) && (delete this.map[key])){   

        this.size--;   

  }   

}; 

 

HashMap.prototype.size=function(){ 

    return this.size; 

}; 

 

HashMap.prototype.find=function(_callback){ 

    for(var _key in this.map){ 

        _callback.call(this,_key,this.map[_key]); 

    } 

}; 

//List 

 

function ArrayList(){ 

    this.size=0; 

    this.list=new Object(); 

}; 

ArrayList.prototype.add=function(obj){ 

    this.list[this.size++]; 

    return this.size; 

}; 

ArrayList.prototype.remove=function(index){ 

    if(this.size>index){ 

        delete this.list[index--]; 

        return this.size--; 

    } 

    return -1; 

}; 

ArrayList.prototype.size=function(){ 

    return this.size; 

}; 

ArrayList.prototype.get=function(index){ 

    return this.size>index?this.list[index]:null

}; 

ArrayList.prototype.clear=function(){ 

    this.list=null

}; 

ArrayList.prototype.contains=function(obj){ 

    return this.indexOf(obj)>=0?true:false

}; 

ArrayList.prototype.indexOf=function(obj){ 

    for(var i=0;i<this.size;i++){ 

        if(this.list[i]==obj){ 

            return i; 

        } 

    } 

    return -1; 

}; 

ArrayList.prototype.isEmpty=function(){ 

    return this.size<0?true:false

}; 

 

 

function HashSet(){ 

    this.size=0; 

    this.set=new Object(); 

}; 

HashSet.prototype.add=function(obj){ 

    this.indexOf(obj)<0?this.set[this.size++]=obj:null

    return this.size; 

}; 

HashSet.prototype.remove=function(index){ 

    if(this.size>index){ 

        delete this.set[index--]; 

        return this.size--; 

    } 

    return -1; 

}; 

HashSet.prototype.size=function(){ 

    return this.size; 

}; 

HashSet.prototype.get=function(index){ 

    return this.size>index?this.set[index]:null

}; 

HashSet.prototype.clear=function(){ 

    this.set=null

}; 

HashSet.prototype.contains=function(obj){ 

    return this.indexOf(obj)>=0?true:false

}; 

HashSet.prototype.indexOf=function(obj){ 

    for(var i=0;i<this.size;i++){ 

        if(this.set[i]==obj){ 

            return i; 

        } 

    } 

    return -1; 

}; 

HashSet.prototype.isEmpty=function(){ 

    return this.size<0?true:false

}; 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值