javascript实现的HashMap类代码


Posted in Javascript onJune 27, 2014
<script language = "javascript" >

function HashMap() {

    /**Map大小**/

    var size = 0;

    /**对象**/

    var entry = new Object();

    /**Map的存put方法**/

    this.put = function(key, value) {

        if (!this.containsKey(key)) {

            size++;

            entry[key] = value;

        }

    }

    /**Map取get方法**/

    this.get = function(key) {

        return this.containsKey(key) ? entry[key] : null;

    }

    /**Map删除remove方法**/

    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;

    }

    /**清空Map**/

    this.clear = function() {

        size = 0;

        entry = new Object();

    }
}

//创建HashMap对象 

var hashMap = new HashMap();

hashMap.put("A", "1");

hashMap.put("B", "2");

hashMap.put("A", "5");

hashMap.put("C", "3");

hashMap.put("A", "4");

alert(hashMap.size());
</script>
Javascript 相关文章推荐
JS获取IUSR_机器名和IWAM_机器名帐号的密码
Dec 06 Javascript
基于jquery的$.ajax async使用
Oct 19 Javascript
jquery中radio checked问题
Mar 16 Javascript
js动态创建及移除div的方法
Jun 03 Javascript
JavaScript forEach()遍历函数使用及介绍
Jul 08 Javascript
JavaScript常用本地对象小结
Mar 28 Javascript
jquery ajax局部加载方法详解(实现代码)
May 12 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
Aug 21 Javascript
vue.js如何将echarts封装为组件一键使用详解
Oct 10 Javascript
详解koa2学习中使用 async 、await、promise解决异步的问题
Nov 13 Javascript
Webpack设置环境变量的一些误区详解
Dec 19 Javascript
jQuery+PHP+Ajax实现动态数字统计展示功能
Dec 25 jQuery
js图片滚动效果时间可随意设定当鼠标移上去时停止
Jun 26 #Javascript
Javascript字符串对象的常用方法简明版
Jun 26 #Javascript
fixedBox固定div漂浮代码支持ie6以上大部分主流浏览器
Jun 26 #Javascript
js实现回放拖拽轨迹从过程上进行分析
Jun 26 #Javascript
JS的事件绑定深入认识
Jun 26 #Javascript
jquery 页眉单行信息滚动显示实现思路及代码
Jun 26 #Javascript
jquery的clone方法应用于textarea和select的bug修复
Jun 26 #Javascript
You might like
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
详解PHP原生DOM对象操作XML的方法
2016/10/17 PHP
PHP实现的简单对称加密与解密方法实例小结
2017/08/28 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
用js 让图片在 div或dl里 居中,底部对齐
2008/01/21 Javascript
高效的表格行背景隔行变色及选定高亮的JS代码
2010/12/04 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
使用JavaScript判断图片是否加载完成的三种实现方式
2014/05/04 Javascript
JS清除选择内容的方法
2015/01/29 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
2016/05/25 Javascript
bootstrap modal弹出框的垂直居中
2016/12/14 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
2017/08/31 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
python 参数列表中的self 显式不等于冗余
2008/12/01 Python
python中self原理实例分析
2015/04/30 Python
Python Requests 基础入门
2016/04/07 Python
详解python中的 is 操作符
2017/12/26 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
详解python实现识别手写MNIST数字集的程序
2018/08/03 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
python样条插值的实现代码
2018/12/17 Python
10分钟教你用python动画演示深度优先算法搜寻逃出迷宫的路径
2019/08/12 Python
python关于倒排列的知识点总结
2020/10/13 Python
Python 打印自己设计的字体的实例讲解
2021/01/04 Python
css3 transform过渡抖动问题解决
2020/10/23 HTML / CSS
html5 Canvas绘制线条 closePath()实例代码
2012/05/10 HTML / CSS
给护士表扬信
2014/01/19 职场文书
打架检讨书2000字
2014/02/22 职场文书
党员四风剖析材料
2014/08/27 职场文书
结婚典礼致辞
2015/07/28 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
导游词之湖北梁子湖
2019/11/07 职场文书