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 EasyUI 的EasyLoader功能介绍
Sep 12 Javascript
基于jQuery的为attr添加id title等效果的实现代码
Apr 20 Javascript
读jQuery之十二 删除事件核心方法
Jul 31 Javascript
node.js中的http.response.end方法使用说明
Dec 14 Javascript
node.js中的fs.rename方法使用说明
Dec 16 Javascript
jQuery对JSON数据进行排序输出的方法
Jun 24 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
Aug 17 Javascript
JavaScript面试题大全(推荐)
Sep 22 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
Jun 01 Javascript
js+HTML5 canvas 实现简单的加载条(进度条)功能示例
Jul 16 Javascript
JavaScript编码小技巧分享
Sep 17 Javascript
Vue3 Composition API的使用简介
Mar 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学习之PHP运算符
2006/10/09 PHP
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
php Sql Server连接失败问题及解决办法
2009/08/07 PHP
php判断str字符串是否是xml格式数据的方法示例
2017/07/26 PHP
PHP实现倒计时功能
2020/11/16 PHP
学习ExtJS accordion布局
2009/10/08 Javascript
JQuery+JS实现仿百度搜索结果中关键字变色效果
2011/08/02 Javascript
关于js内存泄露的一个好例子
2013/12/09 Javascript
三种AngularJS中获取数据源的方式
2016/02/02 Javascript
JS作为值的函数用法示例
2016/06/20 Javascript
在JS中如何把毫秒转换成规定的日期时间格式实例
2017/05/11 Javascript
移动web开发之touch事件实例详解
2018/01/17 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
js实现转动骰子模型
2019/10/24 Javascript
在vue中使用echarts(折线图的demo,markline用法)
2020/07/20 Javascript
[01:33:25]DOTA2-DPC中国联赛 正赛 Elephant vs IG BO3 第一场 1月24日
2021/03/11 DOTA
举例讲解Python中的死锁、可重入锁和互斥锁
2015/11/05 Python
Django返回json数据用法示例
2016/09/18 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
基于Python新建用户并产生随机密码过程解析
2019/10/08 Python
对python中 math模块下 atan 和 atan2的区别详解
2020/01/17 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
2020/02/23 Python
python连接mysql有哪些方法
2020/06/24 Python
python中pivot()函数基础知识点
2021/01/03 Python
Html+Css+Jquery实现左侧滑动拉伸导航菜单栏的示例代码
2020/03/17 HTML / CSS
美国成衣女装品牌:CHICO’S
2016/09/19 全球购物
个人近期表现材料
2014/02/11 职场文书
《画杨桃》教学反思
2014/04/13 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
公务员群众路线专题民主生活会发言材料
2014/09/17 职场文书
违纪开除通知书
2015/04/25 职场文书
小学教师师德师风承诺书
2015/04/28 职场文书
毕业生政审意见范文
2015/06/04 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript