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中的关联数组分析
Apr 09 Javascript
JS实现div居中示例
Apr 17 Javascript
node.js中的buffer.copy方法使用说明
Dec 14 Javascript
Jquery全选与反选点击执行一次的解决方案
Aug 14 Javascript
Sort()函数的多种用法
Mar 20 Javascript
js判断登陆用户名及密码是否为空的简单实例
May 16 Javascript
js实现的光标位置工具函数示例
Oct 03 Javascript
JavaScript Uploadify文件上传实例
Feb 28 Javascript
jQuery插件HighCharts实现气泡图效果示例【附demo源码】
Mar 13 Javascript
vue.js 添加 fastclick的支持方法
Aug 28 Javascript
Vue中通过Vue.extend动态创建实例的方法
Aug 13 Javascript
Vue axios 跨域请求无法带上cookie的解决
Sep 08 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 magic_quotes_gpc的一点认识与分析
2008/08/18 PHP
php daodb插入、更新与删除数据
2009/03/19 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
2010/08/05 PHP
php中file_get_content 和curl以及fopen 效率分析
2014/09/19 PHP
PHP四舍五入、取整、round函数使用示例
2015/02/06 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
[原创]PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】
2017/09/02 PHP
javascript让setInteval里的函数参数中的this指向特定的对象
2010/01/31 Javascript
用jquery和json从后台获得数据集的代码
2011/11/07 Javascript
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
浅析javascript的间隔调用和延时调用
2014/11/12 Javascript
js判断浏览器版本以及浏览器内核的方法
2015/01/20 Javascript
javascript实现图片上传前台页面
2015/08/18 Javascript
js document.getElementsByClassName的使用介绍与自定义函数
2016/11/25 Javascript
微信小程序 setData使用方法及常用错误解决办法
2017/05/11 Javascript
Vue2.0 多 Tab切换组件的封装实例
2017/07/28 Javascript
AngularJS动态添加数据并删除的实例
2018/02/27 Javascript
vue下history模式刷新后404错误解决方法
2018/08/18 Javascript
你应该了解的JavaScript Array.map()五种用途小结
2018/11/14 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
详解Django框架中用户的登录和退出的实现
2015/07/23 Python
Python 爬虫的工具列表大全
2016/01/31 Python
python中requests库session对象的妙用详解
2017/10/30 Python
python实现socket+threading处理多连接的方法
2019/07/23 Python
Python爬虫实现“盗取”微信好友信息的方法分析
2019/09/16 Python
通过实例解析python and和or使用方法
2020/11/14 Python
英国现代家具和装饰网站:PN Home
2018/08/16 全球购物
英国和爱尔兰最大的地毯零售商:Kukoon
2018/12/17 全球购物
固特异美国在线轮胎店:Goodyear Tire
2019/02/23 全球购物
境外导游求职信
2014/02/27 职场文书
银行求职信范文
2014/05/26 职场文书
2014乡镇党政班子四风问题思想汇报
2014/09/14 职场文书
傅雷家书读书笔记
2015/06/29 职场文书
死磕 java同步系列之synchronized解析
2021/06/28 Java/Android
美元符号 $
2022/02/17 杂记