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 相关文章推荐
javascript将数组插入到另一个数组中的代码
Jan 10 Javascript
深入理解JavaScript 闭包究竟是什么
Apr 12 Javascript
js设置document.domain实现跨域的注意点分析
May 21 Javascript
将页面table内容与样式另存成excel文件的方法
Aug 05 Javascript
基于jquery css3实现点击动画弹出表单源码特效
Aug 31 Javascript
javascript简单比较日期大小的方法
Jan 05 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
Jul 27 Javascript
JS+CSS实现网页加载中的动画效果
Oct 27 Javascript
js+canvas实现验证码功能
Sep 21 Javascript
vue登录以及权限验证相关的实现
Oct 25 Javascript
JS中的继承操作实例总结
Jun 06 Javascript
原生js中运算符及流程控制示例详解
Jan 05 Javascript
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判断服务器是否支持Gzip压缩功能
2013/09/24 PHP
10个实用的PHP正则表达式汇总
2014/10/23 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
js继承 Base类的源码解析
2008/12/30 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
JQuery给元素绑定click事件多次执行的解决方法
2014/05/29 Javascript
js实现按钮加背景图片常用方法
2014/11/01 Javascript
javascript简单实现图片预加载
2014/12/03 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
2016/09/27 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
详解如何制作并发布一个vue的组件的npm包
2018/11/10 Javascript
详解如何使用node.js的开发框架express创建一个web应用
2018/12/20 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
ES5 模拟 ES6 的 Symbol 实现私有成员功能示例
2020/05/06 Javascript
详解Vue的组件中data选项为什么必须是函数
2020/08/17 Javascript
在vue中通过render函数给子组件设置ref操作
2020/11/17 Vue.js
Python数据类型详解(四)字典:dict
2016/05/12 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
python实现最小二乘法线性拟合
2019/07/19 Python
使用虚拟环境打包python为exe 文件的方法
2019/08/29 Python
使用python 的matplotlib 画轨道实例
2020/01/19 Python
python mongo 向数据中的数组类型新增数据操作
2020/12/05 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
阿联酋手表和配饰购物网站:Rivolishop
2019/11/25 全球购物
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
房地产财务管理制度
2014/02/02 职场文书
绩效考核实施方案
2014/03/18 职场文书
蟋蟀的住宅教学反思
2014/04/26 职场文书
三年级班级文化建设方案
2014/05/04 职场文书
大学生自我鉴定怎么写
2019/05/07 职场文书
500字作文之周记
2019/12/13 职场文书