`
mylove2060
  • 浏览: 331396 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

仿Java类HashMap的JavaScript实现

阅读更多
/*  
 *@author:chenyuanpeng  
 *QQ:174554431  
 */  
function HashMap(){   
        this.data = new Array();//定义数组属性   
           
        //返回指定键在此标识映射中所映射的值   
        this.put = function(_key,_value){   
            var i;   
            for(i=0;i<this.data.length;i++){   
                if(this.data[i].key==_key){   
                    this.data[i].value = _value;   
                    break;   
                }   
            }   
            if(this.data.length == i){   
                this.data.push({key:_key,value:_value})   
            }   
        }   
  
        //在此映射中关联指定值与指定键   
        this.get = function(_key){   
            for(var i=0;i<this.data.length;i++){   
                if(this.data[i].key == _key){   
                    return this.data[i].value;   
                }   
            }   
        }   
  
        //返回此映射中的键-值映射关系数   
        this.size = function(){   
            return this.data.length;   
        }   
           
        //如果此映射不包含键-值映射关系,则返回 true。   
        this.isEmpty = function(){   
            return this.data.length == 0;   
        }   
  
        //从此映射中移除所有映射关系   
        this.clear = function(){   
            this.data.splice(0,this.data.length);   
        }   
           
        //返回此映射中所包含的键的数组   
        this.keySet = function(){   
            var keySet = new Array();   
            for(var i=0;i<this.data.length;i++){   
                keySet.push(this.data[i].key);   
            }   
            return keySet;   
        }   
           
        //如果此映射中存在该键的映射关系,则将其删除   
        this.remove= function(_key){   
            for(var i=0;i<this.data.length;i++){   
                if(this.data[i].key == _key){   
                    this.data.splice(i,1);   
                }   
            }   
        }   
  
        //返回此映射所包含的值数组   
        this.values = function(){   
            var values = new Array();   
                for(var i=0;i<this.data.length;i++){   
                values.push(this.data[i].value);   
            }   
            return values;   
        }   
        //复制 HashMap 实例的复制.   
        this.clone = function(){   
			var F = function(){}
			F.prototype = this;
            return new F();   
        }   
    }  

1
0
分享到:
评论

相关推荐

    js 实现HashMap功能

    用js代码实现java中hashmap 的所有功能

    实现类似于Java中HashMap功能的js脚本

    实现类似于Java中的HashMap功能,作为一个脚本中的Collection使用,可自行扩展功能。

    javaScript模拟的HashMap数据结构的对象

    javaScript模拟的HashMap数据结构,可以方便的put和get。几乎和Java中HashMap类的功能一模一样。非常好用的!

    韩顺平培训学员面试资料涵盖Java+javascript

    JavaScript中的Object是一组数据的key-value的集合, 有点类似于Java中的HashMap, 所有这些数据都是Object里的property. 通常情况下, JavaScript中建立一个对象用"new"加上constructor function来实现. 如new Date(),...

    HashMap.js

    模拟java中的HashMap类js类对象,可以与js的Array类对象配合使用

    java7hashmap源码-Ranger:跨平台转译器,支持编写可移植算法

    hashmap源码Ranger 跨语言编译器 状态: experimental Ranger 是一个小型的自托管跨语言、跨平台编译器,可以编写可移植的算法和应用程序。 该语言具有类型安全、类、继承、运算符重载、lambda 函数、泛型特征、类...

    JavaScript 学习 - 提高篇

    JavaScript中的Object是一组数据的key-value的集合, 有点类似于Java中的HashMap, 所有这些数据都是Object里的property. 通常情况下, JavaScript中建立一个对象用"new"加上constructor function来实现. 如new Date(),...

    Java基础部分 Java代码查错算法与编程html&JavaScript&ajax部分面试题

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 2 2、Java有没有goto? 2 3、说说&和&&的区别。 57、介绍Collection框架的结构 2 58、Collection框架中实现比较要实现什么接口 2 59、...

    HashMap:JS 上的 HashMap

    JavaScript 中的 HashMap 实现。 就像在 Java 中一样,但不是。 用法 var capacity = 16 , loadFactor = 0.75 , // default value hashMap = new HashMap ( capacity , loadFactor ) ; hashMap . put ( "someKey...

    基于JAVA的网络通信系统的毕业设计,该系统将实现客户端和服务器之间的通信,并支持多用户同时在线

    本毕业设计旨在研究和开发一个基于JAVA的网络通信系统。该系统将实现客户端和服务器之间的通信,并支持多... private static Map, Socket&gt; socketMap = new HashMap(); // 存储在线用户 public static void main(Str

    java面试宝典

    98、Hibernate中怎样实现类之间的关系?(如:一对多、多对多的关系) 22 99、说下Hibernate的缓存机制 22 100、Hibernate的查询方式 23 101、如何优化Hibernate? 23 102、Struts工作机制?为什么要使用Struts? 23 ...

    Json-lib 是一个 Java 类库

    在 Java 语言中,我们可以将它理解成 HashMap。 •Json-lib Json-lib 是一个 Java 类库(官网:http://json-lib.sourceforge.net/)可以实现如下功能: •转换 javabeans, maps, collections, java arrays ...

    Java面试宝典-经典

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

    Java面试宝典2020修订版V1.0.1.doc

    31、Anonymous Inner Class (匿名内部类) 是否可以extends(继承)其它类,是否可以implements(实现)interface(接口)? 21 33、数字转字符有多少种方式,分别是什么 22 34、Java创建对象有几种方式 22 35、写出验证...

    Java面试宝典2010版

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

    java面试题大全(2012版)

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

    最新Java面试宝典pdf版

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

    2013java面试题搜集

    都是传智播客收集的面试题希望对面有用 ... 2、那说说数据库连接池的原理 3、Java的内存管理机制是...34、写了一个方法,参数是接口,调用方法时用接口的实现类是否可以?...................还有很多我在这就不介绍了

    Java面试笔试资料大全

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 7 2、Java有没有goto? 7 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

    java面试宝典2012

    1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制? 8 2、Java有没有goto? 8 3、说说&和&&的区别。 8 4、在JAVA中如何跳出当前的多重嵌套循环? 8 5、switch语句能否作用在byte上,能否作用在...

Global site tag (gtag.js) - Google Analytics