JavaScript仿Java实现Map

var Map = function() {
 this.elements = new Array();
 this.size = function() {
  return this.elements.length;
 }
 this.isEmpty = function() {
  return (this.elements.length < 1);
 }
 this.clear = function() {
  this.elements.length = 0;
 }
 this.put = function(_key, _value) {
  if(!this.containsKey(_key)){
   this.elements.push ( {
    key : _key,
    value : _value
   });
  }else{
   this.remove(_key);
   this.put(_key,_value);
  }
 }
 this.remove = function(_key) {
  try {
   for ( var i = 0; i < this.size(); i++) {
    if (this.elements[i].key == _key){
     this.elements.splice(i, 1);
     return true;
    }
   }
  } catch (e) {
   return false;
  }
  return false;
 }
 this.get = function(_key) {
  try {
   for ( var i = 0; i < this.size(); i++) {
    if (this.elements[i].key == _key) {
     var _value = this.elements[i].value;
     return _value;
    }
   }
  } catch (e) {
   return null;
  }
  return null;
 }
 this.containsKey = function(_key){
  try {
   for ( var i = 0; i < this.size(); i++) {
    if (this.elements[i].key == _key) {
     return true;
    }
   }
  } catch (e) {
   return false;
  }
  return false;
 }
 this.getValues = function(){
        var values=new Array();
        try {
            for ( var i = 0; i < this.size(); i++) {
                values.push(this.elements[i].key);
            }
        } catch (e) {
            alert("Can not get Map Values ! {1}"+e.message);
            return null;
        }
        return values;
    }
    this.getKeys = function(){
        var keys=new Array();
        try {
            for ( var i = 0; i < this.size(); i++) {
                keys.push(this.elements[i].values);
            }
        } catch (e) {
            //alert("Can not get Map Keys ! {1}"+e.message);
            return null;
        }
        return keys;
    }
    this.mapStr = function(){
        return this.elements.toString();
    } 
}

JavaScript仿Java实现Map

时间: 2024-10-12 18:36:21

JavaScript仿Java实现Map的相关文章

javascript实现java的map对象,js实现new map()

 分类: javascript(84)  [html] view plain copy print? /* * MAP对象,实现MAP功能 * * 接口: * size()     获取MAP元素个数 * isEmpty()    判断MAP是否为空 * clear()     删除MAP所有元素 * put(key, value)   向MAP中增加元素(key, value) * remove(key)    删除指定KEY的元素,成功返回True,失败返回False * get(key) 

用javascript实现java的Map

function Map(){ var obj={}; //空的容器 //put方法 this.put=function(key,value){ obj[key]=value; //把键值绑定到obj对象上 } //size获取Map容器的个数 this.size=function(){ var i=0; for(var att in obj){ i++; }; return i; } }; var m=new Map(); m.put('01','abc'); m.put('02',120);

javascript 实现java中的Map

javascript实现java中的Map,代码是在国外的一个网站上看到的(http://stackoverflow.com/questions/368280/javascript-hashmap-equivalent),自己稍作了修改,之前也看到过有人用2个数组实现了Map,但是我感觉效率比较低,现在这个我感觉效率还可以,自己做了下测试,代码如下: Map.js Java代码   function Map(linkItems) { this.current = undefined; this.

atitit.javascript调用java in swt attilax 总结

atitit.javascript调用java in swt attilax 总结 1. BrowserFunction 简介1 1.1. BrowserFunction 可以分为三类: 1 1.2. 事件监听2 2. ati的实现2 2.1. 页面调用2 2.1.1. --------nativeswing的实现2 2.2. java代码2 3. ---code4 4. 参考5 1. BrowserFunction 简介 为了让读者更好的理解后面的内容,在正式介绍之前,需要让读者简单了解一下 

mybatis异常:Could not find result map java.util.Map 问题分析及解决

错误写法 <select id="queryXXXCount" resultMap="java.util.Map" > mybatis报出的异常日志: org.apache.ibatis.builder.IncompleteElementException: Could not find result map java.util.Map at org.apache.ibatis.builder.MapperBuilderAssistant.setStat

Java中Map接口的遍历

package Test4; import java.util.Collection;import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set; import org.junit.Test; public class MapBianLi { /* * 如何遍历Map * Set keySet()-->遍历Key * Collection values()-->遍历va

JAVA集合------Map (HashMap实现)

package java_util_map; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class MapTest01 { public static void main(String[] args) { /*  * Map是一个接口,HashMap是Map的一个实现类  

Java遍历Map集合方法

package testMap; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Set; /**  * 循环遍历Map集合  *   * @author Administrator  *   */ pub

细说java中Map的两种迭代方式

以前对java中迭代方式总是迷迷糊糊的,今天总算弄懂了,特意的总结了一下,基本是算是理解透彻了. 1.再说Map之前先说下Iterator: Iterator主要用于遍历(即迭代访问)Collection集合中的元素,Iterator也称为迭代器.它仅仅只有三个方法:hasNext(),next()和remove() hasNext():如果仍有元素可以迭代,则返回 true.(换句话说,如果 next 返回了元素而不是 抛出异常,则返回 true). next():返回迭代的下一个元素. re