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 个人笔记(没有整理,很乱)
Jul 07 Javascript
js实现的切换面板实例代码
Jun 17 Javascript
javascript正则表达式中的replace方法详解
Apr 20 Javascript
JavaScript基本数据类型及值类型和引用类型
Aug 25 Javascript
浅谈EasyUi ComBotree树修改 父节点选择的问题
Nov 07 Javascript
关于JS Lodop打印插件打印Bootstrap样式错乱问题的解决方案
Dec 23 Javascript
前端开发不得不知的10个最佳ES6特性
Aug 30 Javascript
原生JS封装animate运动框架的实例
Oct 12 Javascript
JS中offset和匀速动画详解
Feb 06 Javascript
jQuery Ajax实现Select多级关联动态绑定数据的实例代码
Oct 26 jQuery
vue项目前端错误收集之sentry教程详解
May 27 Javascript
javascript写一个ajax自动拦截并下载数据代码实例
Sep 07 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
android上传图片到PHP的过程详解
2015/08/03 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
laravel 5.5 关闭token的3种实现方式
2019/10/24 PHP
PHP读取文件或采集时解决中文乱码
2021/03/09 PHP
js输出列表实现代码
2010/09/12 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
详解AngularJS过滤器的使用
2016/03/11 Javascript
Node.js批量给图片加水印的方法
2016/11/15 Javascript
jQuery中$.grep() 过滤函数 数组过滤
2016/11/22 Javascript
原生JS实现左右箭头选择日期实例代码
2017/03/14 Javascript
JavaScript之class继承_动力节点Java学院整理
2017/07/03 Javascript
Angular4实现鼠标悬停3d倾斜效果
2017/10/25 Javascript
koa socket即时通讯的示例代码
2018/09/07 Javascript
微信小程序实现tab左右切换效果
2020/11/15 Javascript
JavaScript碎片—函数闭包(模拟面向对象)
2019/03/13 Javascript
JavaScript高阶教程之“==”隐藏下的类型转换
2019/04/11 Javascript
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
教你如何用Node实现API的转发(某音乐)
2019/09/20 Javascript
javascript实现函数柯里化与反柯里化过程解析
2019/10/08 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
Python使用MD5加密字符串示例
2014/08/22 Python
python判断字符串是否是json格式方法分享
2017/11/07 Python
pandas中去除指定字符的实例
2018/05/18 Python
python动态规划算法实例详解
2020/11/22 Python
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
大学生简历的个人自我评价
2013/12/04 职场文书
运动会入场解说词
2014/02/07 职场文书
珍惜水资源建议书
2014/03/12 职场文书
市场营销专业毕业生求职信
2014/03/26 职场文书
竞选村长演讲稿
2014/04/28 职场文书
社会实践的活动方案
2014/08/22 职场文书
授权委托书怎么写
2014/09/25 职场文书
工作能力自我评价2015
2015/03/05 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技
java获取一个文本文件的编码(格式)信息
2022/09/23 Java/Android