1function HashMap(){
2
3 var ItemCollection=new Array();
4 //private
5
6 this.getMapCollection=function (){
7 return ItemCollection;
8 }
9
10 var MapItem=function (key,value){
11
12 this.key=(key==null?"":key);
13 this.value=(value==null?"":value);
14
15 this.getKey=function (){
16 return this.key;
17 }
18
19 this.getValue=function (){
20 return this.value;
21 }
22
23 this.setKey=function (key){
24 this.key=key;
25 }
26
27 this.setValue=function (value){
28 this.value=value;
29 }
30 }
31
32 this.put=function (key,value){
33 var item=new MapItem();
34 if(isItemExist(key)==false)
35 {
36 item.setKey(key);
37 item.setValue(value);
38 ItemCollection[ItemCollection.length]=item;
39 }else {
40 item=getItem(key);
41 item.setValue(value);
42 }
43 }
44
45 this.putAll=function (itemCollection){
46 if (HashMap.prototype.isPrototypeOf(itemCollection))
47 {
48 connectMap(itemCollection.getMapCollection());
49
50 return true;
51
52 } else {
53 if (Array.prototype.isPrototypeOf(itemCollection))
54 {
55 for (var j=0;j<itemCollection.length ;j++ )
56 {
57 if (MapItem.prototype.isPrototypeOf(itemCollection[j])==false)
58 {
59 return false;
60 }
61 }
62
63 connectMap(itemCollection);
64
65 return true;
66 }
67 }
68 }
69
70 var connectMap=function (itemsArray){
71 if (ItemCollection.length==0)
72 {
73 for (var i=0;i<itemsArray.length;i++)
74 {
75 ItemCollection[i]=itemsArray[i];
76 }
77 } else {
78 var j= (parseInt(itemsArray.length)+parseInt(ItemCollection.length));
79 var orginalLength=parseInt(ItemCollection.length); //save the length of ItemCollection before putting
80
81 for (var i=parseInt(ItemCollection.length) ; i<j; i++ )
82 {
83 ItemCollection[i]=itemsArray[i-orginalLength];
84 }
85 }
86 }
87
88 var getItem=function (key){
89 var item=new MapItem();
90
91 for(var i=0;i<ItemCollection.length;i++)
92 {
93 if(ItemCollection[i].getKey()==key)
94 {
95 item=ItemCollection[i];
96 break;
97 }
98 }
99 return item;
100 }
101
102 this.get=function (key){
103
104 var value="";
105
106 for(var i=0;i<ItemCollection.length;i++)
107 {
108 if(ItemCollection[i].getKey()==key)
109 {
110 value=ItemCollection[i].getValue();
111 break;
112 }
113 }
114 return value;
115
116 }
117
118 var isItemExist=function (key){
119
120 var item=new MapItem();
121 item.setKey("");
122 item.setValue("");
123 var flag=false;
124
125 for(var i=0;i<ItemCollection.length;i++)
126 {
127
128 if(ItemCollection[i].getKey()==key)
129 {
130 flag=true;
131 break;
132 }
133
134 }
135
136 return flag;
137
138 }
139
140 this.remove=function (key){
141 for (var i=0;i<ItemCollection.length;i++)
142 {
143
144 if (ItemCollection[i].getKey()==key)
145 {
146 var mid=ItemCollection.length/2;
147
148 if (i<mid)
149 {
150 for (var j=i;j>0 ;j-- )
151 {
152 ItemCollection[j]=ItemCollection[j-1];
153 }
154 } else {
155 for (var j=i;j<ItemCollection.length ;j++ )
156 {
157 ItemCollection[j]=ItemCollection[j+1];
158 }
159 }
160 ItemCollection.length=ItemCollection.length-1;
161 }
162 }
163 }
164
165 this.removeAll=function (){
166 ItemCollection.length=0;
167 }
168
169 this.getSize=function (){
170 return ItemCollection.length;
171 }
172
173
174 this.contain=function (key){
175 for (var i=0;i<ItemCollection.length ;i++ )
176 {
177 if (ItemCollection[i].getKey()==key)
178 {
179 return true;
180 }
181 }
182
183 return false;
184 }
185}
分享到:
相关推荐
在描述中提到的"js版java HashMap"可能是指一个JavaScript实现的HashMap类,它模仿了Java中的HashMap数据结构,提供了更高效和灵活的操作。Java的HashMap是一个基于哈希表的Map接口实现,提供快速的插入、删除和查找...
在计算机编程中,使用类似于Java或JavaScript这样的语言实现HashMap类可以帮助我们更好地管理数据和优化程序性能。 描述中提到的“添加、获取、删除、查询key和value功能”,指的是HashMap类应该具备的基本操作,...
javaScript模拟的HashMap数据结构,可以方便的put和get。几乎和Java中HashMap类的功能一模一样。非常好用的!
用js代码实现java中hashmap 的所有功能
HashMap类在Java编程...在阅读《HashMap1.js》和《HashMap.js》这两个文件时,可以深入分析其JavaScript版本的HashMap实现,虽然与Java版本可能有所不同,但基本的哈希映射原理是相通的,有助于拓宽对哈希表的理解。
本文介绍了如何使用Java和JavaScript实现Base64编码与解码功能,特别是在Java Spring框架下的具体实现方式。通过这些代码示例,开发者可以快速地集成Base64的功能到自己的应用中,无论是前端还是后端。同时,还介绍...
本篇文章将深入探讨JavaScript中的HashMap、Set和ArrayList等集合类的实现,并与Java中的相应概念进行对比,帮助开发者更好地理解和应用这些数据结构。 **1. HashMap** 在Java中,HashMap是一个散列映射容器,它...
本教程将介绍如何利用Java来实现这种功能,并结合MySQL数据库进行数据存储,同时通过AJAX技术实现页面的异步刷新。 首先,我们需要建立一个Java实体类来表示树形结构中的节点。这个类通常包含ID(主键)、名称、父...
实现类似于Java中的HashMap功能,作为一个脚本中的Collection使用,可自行扩展功能。
模拟java中的HashMap类js类对象,可以与js的Array类对象配合使用
2. **JavaScript中的hashCode实现**:由于JavaScript中没有内置的hashCode方法,因此在需要在JavaScript中使用与Java相同的哈希值计算方式时,需要手动实现这个算法。根据文件中的描述,可以通过模拟Java的hashCode...
在Java编程环境中,有时我们需要与JavaScript交互,例如执行一些动态脚本...开发者可以轻松地在Java程序中执行JavaScript代码,调用JavaScript函数,甚至传递Java对象到JavaScript环境,从而实现两者之间的协同工作。
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它采用完全独立于语言的文本格式,但也使用了类似于C家族语言(包括Java)的习惯,这使得JSON对于程序员来说易于读写。本教程将深入讲解如何在Java...
这个方法适用于JavaScript环境,如果在服务器端使用Java处理,可以使用HashMap来实现相同的功能,只是代码会有所不同,因为Java处理DOM的操作不同于JavaScript。在Java中,你需要先解析HTML字符串,提取`<select>`...
这个项目可能是关于如何在Java和JavaScript环境中集成和使用Oracle数据库的一个示例或者教程。 【Java编程语言】: Java是一种广泛使用的面向对象的编程语言,以其“一次编写,到处运行”的特性闻名。它具有丰富的...
Java实现LZ77压缩算法的过程与JavaScript类似,但Java提供了更丰富的数据结构和优化的性能。主要步骤如下: 1. 使用`StringBuilder`或自定义的数据结构存储滑动窗口和压缩结果。 2. 利用`String`类的`indexOf()`方法...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,被广泛用于前后端交互,而Java作为后端开发的主要语言,常常需要将JSON格式的数据与Java类对象进行相互转换,以便于数据的处理和传输。Jackson库是...
JavaScript中的Object是一组数据的key-value的集合, 有点类似于Java中的HashMap, 所有这些数据都是Object里的property. 通常情况下, JavaScript中建立一个对象用"new"加上constructor function来实现. 如new Date(),...
- **集合框架**:ArrayList、HashMap等容器的使用。 - **Java Applet开发** - **Applet生命周期**:从加载到卸载的各个阶段及其对应的方法。 - **绘图基础**:使用`Graphics`类进行基本图形绘制。 - **事件监听...
例如,`java.io`包提供了处理输入和输出流的类,`java.net`包用于网络编程,而`java.util`包则包含了许多实用工具类,如ArrayList和HashMap。Java API的使用能够使开发者高效地构建跨平台的应用程序。 其次,AJAX...