国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

js模仿java的Map集合詳解

2019-11-20 10:51:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

java.util 中的集合類包含 Java 中某些最常用的類。最常用的集合類是 List 和 Map。List 的具體實(shí)現(xiàn)包括 ArrayList 和 Vector,它們是可變大小的列表,比較適合構(gòu)建、存儲(chǔ)和操作任何類型對(duì)象元素列表。List 適用于按數(shù)值索引訪問(wèn)元素的情形。
Map 提供了一個(gè)更通用的元素存儲(chǔ)方法。Map 集合類用于存儲(chǔ)元素對(duì)(稱作“鍵”和“值”),其中每個(gè)鍵映射到一個(gè)值。從概念上而言,您可以將 List 看作是具有數(shù)值鍵的 Map。而實(shí)際上,除了 List 和 Map 都在定義 java.util 中外,兩者并沒(méi)有直接的聯(lián)系。本文將著重介紹核心 Java 發(fā)行套件中附帶的 Map,同時(shí)還將介紹如何采用或?qū)崿F(xiàn)更適用于您應(yīng)用程序特定數(shù)據(jù)的專用 Map。
了解完java中的Map后,直接上代碼了!

<head> <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> <title>測(cè)試map</title> </head> <style type="text/css"> </style> <script type="text/javascript"> /*  * Map對(duì)象,實(shí)現(xiàn)Map功能  * size() 獲取Map元素個(gè)數(shù)  * isEmpty() 判斷Map是否為空  * clear() 刪除Map所有元素  * put(key, value) 向Map中增加元素(key, value)   * remove(key) 刪除指定key的元素,成功返回true,失敗返回false  * get(key) 獲取指定key的元素值value,失敗返回null  * element(index) 獲取指定索引的元素(使用element.key,element.value獲取key和value),失敗返回null  * containsKey(key) 判斷Map中是否含有指定key的元素  * containsValue(value) 判斷Map中是否含有指定value的元素  * keys() 獲取Map中所有key的數(shù)組(array)  * values() 獲取Map中所有value的數(shù)組(array)  *  */ function Map(){   this.elements = new Array();     //獲取Map元素個(gè)數(shù)   this.size = function() {     return this.elements.length;   },     //判斷Map是否為空   this.isEmpty = function() {     return (this.elements.length < 1);   },     //刪除Map所有元素   this.clear = function() {     this.elements = new Array();   },     //向Map中增加元素(key, value)    this.put = function(_key, _value) {     if (this.containsKey(_key) == true) {       if(this.containsValue(_value)){         if(this.remove(_key) == true){           this.elements.push( {             key : _key,             value : _value           });         }       }else{         this.elements.push( {           key : _key,           value : _value         });       }     } else {       this.elements.push( {         key : _key,         value : _value       });     }   },     //刪除指定key的元素,成功返回true,失敗返回false   this.remove = function(_key) {     var bln = false;     try {        for (i = 0; i < this.elements.length; i++) {          if (this.elements[i].key == _key){           this.elements.splice(i, 1);           return true;         }       }     }catch(e){       bln = false;      }     return bln;   },     //獲取指定key的元素值value,失敗返回null   this.get = function(_key) {     try{        for (i = 0; i < this.elements.length; i++) {         if (this.elements[i].key == _key) {           return this.elements[i].value;         }       }     }catch(e) {       return null;      }   },     //獲取指定索引的元素(使用element.key,element.value獲取key和value),失敗返回null   this.element = function(_index) {     if (_index < 0 || _index >= this.elements.length){       return null;     }     return this.elements[_index];   },     //判斷Map中是否含有指定key的元素   this.containsKey = function(_key) {     var bln = false;     try {       for (i = 0; i < this.elements.length; i++) {          if (this.elements[i].key == _key){           bln = true;         }       }     }catch(e) {       bln = false;      }     return bln;   },      //判斷Map中是否含有指定value的元素   this.containsValue = function(_value) {     var bln = false;     try {       for (i = 0; i < this.elements.length; i++) {          if (this.elements[i].value == _value){           bln = true;         }       }     }catch(e) {       bln = false;      }     return bln;   },     //獲取Map中所有key的數(shù)組(array)   this.keys = function() {     var arr = new Array();     for (i = 0; i < this.elements.length; i++) {        arr.push(this.elements[i].key);     }     return arr;   },    //獲取Map中所有value的數(shù)組(array)   this.values = function() {     var arr = new Array();     for (i = 0; i < this.elements.length; i++) {        arr.push(this.elements[i].value);     }     return arr;   }; } //測(cè)試map alert('測(cè)試map'); var map=new Map(); map.put(0,0); map.put(1,1); map.put(2,2); alert('map的大小為:'+map.size()); for(var i=0;i<map.size();i++){   alert('map的key'+i+'對(duì)應(yīng)的value值為'+map.get(i)); } alert('獲取map中不存在的鍵'+map.get('獲取map中不存在的鍵')); alert('map中的所有鍵的長(zhǎng)度'+map.keys().length); for(var i=0;i<map.keys().lenght;i++){   alert('map中的鍵值'+map.keys()[i]); } alert('map中的所有的value值的長(zhǎng)度'+map.values().length); for(var i=0;i<map.values().length;i++){   alert('map中的value的值'+map.values()[i]); } alert('判斷map中的值value是否存在3'+map.containsValue(3)); </script> <body> 測(cè)試map </body> </html> 

運(yùn)行效果圖:

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 乐东| 普宁市| 泰宁县| 芮城县| 新田县| 蕲春县| 万州区| 临澧县| 五大连池市| 建平县| 和硕县| 合水县| 黎川县| 泾源县| 莱州市| 九寨沟县| 浑源县| 中江县| 攀枝花市| 桦甸市| 汝阳县| 贵州省| 胶州市| 厦门市| 巫山县| 锦屏县| 凯里市| 巴马| 杂多县| 堆龙德庆县| 循化| 东乡| 阳朔县| 神池县| 巴彦县| 桐乡市| 肇源县| 抚松县| 肥东县| 汪清县| 七台河市|