`
mylove2060
  • 浏览: 335904 次
  • 性别: 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 版 java hashmap

    在描述中提到的"js版java HashMap"可能是指一个JavaScript实现的HashMap类,它模仿了Java中的HashMap数据结构,提供了更高效和灵活的操作。Java的HashMap是一个基于哈希表的Map接口实现,提供快速的插入、删除和查找...

    base64,java与JavaScript实现

    ### 关于Base64编码及Java与JavaScript的实现 #### Base64简介 Base64是一种将二进制数据转换为ASCII字符串表示形式的方法。它主要用于处理非文本数据的存储和传输,例如图像、视频等多媒体文件。由于互联网传输...

    js 实现HashMap功能

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

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

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

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

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

    HashMap类

    HashMap类在Java编程...在阅读《HashMap1.js》和《HashMap.js》这两个文件时,可以深入分析其JavaScript版本的HashMap实现,虽然与Java版本可能有所不同,但基本的哈希映射原理是相通的,有助于拓宽对哈希表的理解。

    javascript实现的HashMap类代码

    在计算机编程中,使用类似于Java或JavaScript这样的语言实现HashMap类可以帮助我们更好地管理数据和优化程序性能。 描述中提到的“添加、获取、删除、查询key和value功能”,指的是HashMap类应该具备的基本操作,...

    json格式与java类对象相互转换

    JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端交互,而Java作为后端开发的主要语言,常常需要将JSON格式的数据与Java类对象进行相互转换,以便于数据的处理和传输。Jackson库是...

    java实现无限级分类树形,连接mysql数据库

    本教程将介绍如何利用Java来实现这种功能,并结合MySQL数据库进行数据存储,同时通过AJAX技术实现页面的异步刷新。 首先,我们需要建立一个Java实体类来表示树形结构中的节点。这个类通常包含ID(主键)、名称、父...

    itwill_java_oracle_javascript-master_java_javascript_

    【标题】"itwill_java_oracle_javascript-master_java_javascript_" 涉及的主要知识点是Java编程语言、Oracle数据库管理和JavaScript脚本语言。这个项目可能是关于如何在Java和JavaScript环境中集成和使用Oracle...

    js 集合类实现 (HashMap, Set, ArrayList, etc.)

    本篇文章将深入探讨JavaScript中的HashMap、Set和ArrayList等集合类的实现,并与Java中的相应概念进行对比,帮助开发者更好地理解和应用这些数据结构。 **1. HashMap** 在Java中,HashMap是一个散列映射容器,它...

    JsJava2.0最新Javascript类库下载

    4. **集合框架**:JsJava2.0提供了类似Java的集合类,如ArrayList、HashMap等,便于数据的组织和操作。 5. **多线程支持**:虽然JavaScript在浏览器环境中通常是单线程的,但JsJava2.0可能通过Web Workers或类似的...

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

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

    Java直接运行JS代码

    在Java编程环境中,有时我们需要与JavaScript交互,例如执行一些动态脚本...开发者可以轻松地在Java程序中执行JavaScript代码,调用JavaScript函数,甚至传递Java对象到JavaScript环境,从而实现两者之间的协同工作。

    HashMap.js

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

    各类中文API (java、ajax、JavaScript、jQuery、mysql、oracle )

    例如,`java.io`包提供了处理输入和输出流的类,`java.net`包用于网络编程,而`java.util`包则包含了许多实用工具类,如ArrayList和HashMap。Java API的使用能够使开发者高效地构建跨平台的应用程序。 其次,AJAX...

    JavaScript实现不同的计算机科学算法

    - **红黑树**:另一种自平衡二叉查找树,通过颜色属性保证一定的平衡性,用于实现高效的数据结构如Java的HashMap。 5. **动态规划** - **斐波那契数列**:使用备忘录或迭代/递归方法解决。 - **背包问题**:如0-...

    LZ77压缩,js&java版本

    Java实现LZ77压缩算法的过程与JavaScript类似,但Java提供了更丰富的数据结构和优化的性能。主要步骤如下: 1. 使用`StringBuilder`或自定义的数据结构存储滑动窗口和压缩结果。 2. 利用`String`类的`indexOf()`方法...

    临时资源java、javascript相关

    - **集合框架**:深入理解ArrayList、LinkedList、HashMap、HashSet等数据结构的实现原理和性能特点。 2. **JavaScript面试题**: - **基础语法**:熟悉变量声明(var、let、const)、作用域、闭包,以及函数的...

    html js 用HashMap去掉html中select中的重复值

    这个方法适用于JavaScript环境,如果在服务器端使用Java处理,可以使用HashMap来实现相同的功能,只是代码会有所不同,因为Java处理DOM的操作不同于JavaScript。在Java中,你需要先解析HTML字符串,提取`&lt;select&gt;`...

Global site tag (gtag.js) - Google Analytics