javascript之HashMap

用法

var map = new HashMap();

map.put("a",1);
map.put("b",1);
map.put("b",1);

alert(map.get("a"));
alert(map.keys().toString());
alert(map.values.toString());
alert(map.size());

map.remove("a");

alert(map.keys().toString());


代码

/*
jquery Map 对象
@desc:基于js的hashmap
*/
function HashMap() {
/** 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) {
if (this.containsKey(key)) {
return entry[key];
} else {
return null;
}
}

/** 删除 * */
this.remove = function(key) {

if (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(ent);
}
return values;
}

/** 所有 Key * */
this.keys = function() {
var keys = new Array();
for ( var prop in entry) {
var ent = entry[prop];
if (ent != null && ent != undefined && ent.length > 0)
keys.push(ent);
}
return keys;
}

/** Map Size * */
this.size = function() {
return size;
}

/** **移除map所有信息** */
this.removeALl = function() {
var str_key = this.keys();
for (var i = 0; i < str_key.length; i++) {
if (null != str_key[i] && "" != str_key[i]) {
this.remove(str_key[i]);
}
}
}
}

/**
*
* 字符串拼接 QUINN
*
*/
function StringBuffer() {
this._strs = new Array();
}
StringBuffer.prototype.append = function(str) {
this._strs.push(str);
};
StringBuffer.prototype.arrayToString = function() {
return this._strs.join("");
};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值