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 相关文章推荐
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
Oct 14 Javascript
UpdatePanel和Jquery冲突的解决方法
Apr 01 Javascript
基于JQuery 滑动与动画的说明介绍
Apr 18 Javascript
js调试系列 控制台命令行API使用方法
Jun 18 Javascript
FF(火狐)浏览器无法执行window.close()解决方案
Nov 13 Javascript
Bootstrap轮播图的使用和理解4
Dec 14 Javascript
jQuery Easyui datagrid editor为combobox时指定数据源实例
Dec 19 Javascript
从零学习node.js之搭建http服务器(二)
Feb 21 Javascript
vue2.0 如何把子组件的数据传给父组件(推荐)
Jan 15 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
Jan 25 Javascript
JavaScript ES6常用基础知识总结
Feb 09 Javascript
Flutter 超实用简单菜单弹出框 PopupMenuButton功能
Aug 06 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 xml实例 留言本
2009/03/20 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
2013/06/21 PHP
php7安装yar扩展的方法详解
2017/08/03 PHP
PHP实现的函数重载功能示例
2018/08/03 PHP
js活用事件触发对象动作
2008/08/10 Javascript
验证码按回车不变解决方法
2013/03/29 Javascript
三种检测iPhone/iPad设备方向的方法
2014/04/23 Javascript
jQuery实现的经典竖向伸缩菜单效果代码
2015/09/24 Javascript
基于javascript html5实现3D翻书特效
2016/03/14 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
详解Angular路由之路由守卫
2018/05/10 Javascript
vue兄弟组件传递数据的实例
2018/09/06 Javascript
JS+HTML5 canvas绘制验证码示例
2018/12/05 Javascript
vue+Element实现搜索关键字高亮功能
2019/05/28 Javascript
vue实现绑定事件的方法实例代码详解
2019/06/20 Javascript
JavaScript面向对象核心知识与概念归纳整理
2020/05/09 Javascript
jQuery实现简单轮播图效果
2020/12/27 jQuery
vue实现树状表格效果
2020/12/29 Vue.js
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
python使用calendar输出指定年份全年日历的方法
2015/04/04 Python
使用httplib模块来制作Python下HTTP客户端的方法
2015/06/19 Python
Django内容增加富文本功能的实例
2017/10/17 Python
目前最全的python的就业方向
2018/06/05 Python
学生信息管理系统python版
2018/10/17 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
用python解压分析jar包实例
2020/01/16 Python
python 获取剪切板内容的两种方法
2020/11/28 Python
HTML5 WebSocket实现点对点聊天的示例代码
2018/01/31 HTML / CSS
电话销售经理岗位职责
2013/12/07 职场文书
夏季奶茶店创业计划书
2014/01/16 职场文书
研究生求职自荐书
2014/06/23 职场文书
学习党的群众路线教育实践活动剖析材料
2014/10/13 职场文书
雾霾停课通知
2015/04/24 职场文书
高一化学教学反思
2016/02/22 职场文书