java 创建map_js创建javaMap

本文介绍了如何在JavaScript中使用SimpleMap类实现Map数据结构,包括put、get、remove方法,以及entrys、isEmpty和size等辅助功能。重点讲解了toMapString方法,将Map转换为Java风格的字符串。
摘要由CSDN通过智能技术生成

/**

* Simple Map

* var m = new Map();

* m.put('key','value');

* var v_otherMap = v_m.toMapString();*

* alert(v_otherMap );

*/

(function(){var _common ={

Map :function() {

Array.prototype.remove= function(val) {var index = this.indexOf(val);if (index > -1) {this.splice(index, 1);

}

};this.keys = new Array(); /** 存放键的数组(遍历用到)*/

this.data = new Object();/** 存放数据*/

/**

* 放入一个键值对

* @param {String} key

* @param {Object} value*/

this.put = function(key, value) {if(this.data[key] == null){this.keys.push(key);

}this.data[key] =value;

};/**

* 获取某键对应的值

* @param {String} key

* @return {Object} value*/

this.get = function(key) {return this.data[key];

};/**

* 删除一个键值对

* @param {String} key*/

this.remove = function(k) {this.keys.remove(k);//delete this.keys[k];

this.data[k] = null;

};/**

* 遍历Map,执行处理函数

*

* @param {Function} 回调函数 function(key,value,index){..}*/

this.each = function(fn){if(typeof fn != 'function'){return;

}var len = this.keys.length;for(var i=0;i

fn(k,this.data[k],i);

}

};/**

* 获取键值数组(类似Java的entrySet())

* @return 键值对象{key,value}的数组*/

this.entrys = function() {var len = this.keys.length;var entrys = newArray(len);for (var i = 0; i < len; i++) {

entrys[i]={

key :this.keys[i],

value :this.data[i]

};

}returnentrys;

};/**

* 判断Map是否为空*/

this.isEmpty = function() {return this.keys.length == 0;

};/**

* 获取键值对数量*/

this.size = function(){return this.keys.length;

};/**

* 重写toString*/

this.toString = function(){var s = "{";for(var i=0;i

s+= k+"="+this.data[k];

}

s+="}";returns;

};/**

* 重写toString*/

this.toMapString = function(){var s = "java.util.Map map = new java.util.HashMap();";for(var i=0;i

s+= "map.put(\""+k+"\",\""+this.data[k]+"\")";

}

s+="; return map;";returns;

};

}

};if(typeof JBPM == "undefined") window.JBPM={};

JBPM.common=_common;

})();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值