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 相关文章推荐
jquery选择器的选择使用及性能介绍
Jan 16 Javascript
JS数组的赋值介绍
Mar 10 Javascript
一个支付页面DEMO附截图
Jul 22 Javascript
详解vue-router基本使用
Apr 18 Javascript
vue.js中mint-ui框架的使用方法
May 12 Javascript
AngularJS动态绑定ng-options的ng-model实例代码
Jun 21 Javascript
jquery easyui如何实现格式化列
Jul 30 jQuery
vue+swiper实现侧滑菜单效果
Dec 28 Javascript
js中getBoundingClientRect的作用及兼容方案详解
Feb 01 Javascript
小程序云开发如何实现图片上传及发表文字
May 17 Javascript
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
May 25 Vue.js
详解Vue3使用axios的配置教程
Apr 29 Vue.js
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网页游戏学习之Xnova(ogame)源码解读(十四)
2014/06/26 PHP
Mac版PhpStorm之XAMPP整合apache服务器配置的图文教程详解
2016/10/13 PHP
yii框架redis结合php实现秒杀效果(实例代码)
2017/10/26 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
javascript脚本调试方法小结
2008/11/24 Javascript
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
jquery实现背景墙聚光灯效果示例分享
2014/03/02 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
jQuery平滑旋转幻灯片特效代码分享
2015/09/07 Javascript
深入浅析JavaScript的API设计原则
2016/06/14 Javascript
VueJs组件prop验证简单介绍
2017/09/12 Javascript
使用JS获取SessionStorage的值
2018/01/12 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
2019/11/12 Javascript
浅谈TypeScript的类型保护机制
2020/02/23 Javascript
[34:39]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第二局
2016/03/05 DOTA
Python实现网络端口转发和重定向的方法
2016/09/19 Python
Python三级目录展示的实现方法
2016/09/28 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
python 以16进制打印输出的方法
2018/07/09 Python
Python xlrd模块导入过程及常用操作
2020/06/10 Python
Python 读取位于包中的数据文件
2020/08/07 Python
如何通过python检查文件是否被占用
2020/12/18 Python
波兰在线香水店:Perfumy.pl
2019/08/12 全球购物
白酒市场开发计划书
2014/01/09 职场文书
厂长岗位职责
2014/02/19 职场文书
应用外语系自荐信
2014/06/26 职场文书
2014年大学生工作总结
2014/11/20 职场文书
付款承诺函范文
2015/01/21 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
财务出纳岗位职责
2015/03/31 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书