java.util 中的集合类包含 Java 中某些最常用的类。最常用的集合类是 List 和 Map。List 的具体实现包括 ArrayList 和 Vector,它们是可变大小的列表,比较适合构建、存储和操作任何类型对象元素列表。List 适用于按数值索引访问元素的情形。

Map 提供了一个更通用的元素存储方法。Map 集合类用于存储元素对(称作“键”和“值”),其中每个键映射到一个值。从概念上而言,您可以将 List 看作是具有数值键的 Map。而实际上,除了 List 和 Map 都在定义 java.util 中外,两者并没有直接的联系。本文将着重介绍核心 Java 发行套件中附带的 Map,同时还将介绍如何采用或实现更适用于您应用程序特定数据的专用 Map。

了解完java中的Map后,直接上代码了!

测试map

/*

* Map对象,实现Map功能

* size() 获取Map元素个数

* 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的数组(array)

* values() 获取Map中所有value的数组(array)

*

*/

function Map(){

this.elements = new Array();

//获取Map元素个数

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的数组(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的数组(array)

this.values = function() {

var arr = new Array();

for (i = 0; i < this.elements.length; i++) {

arr.push(this.elements[i].value);

}

return arr;

};

}

//测试map

alert('测试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

alert('map的key'+i+'对应的value值为'+map.get(i));

}

alert('获取map中不存在的键'+map.get('获取map中不存在的键'));

alert('map中的所有键的长度'+map.keys().length);

for(var i=0;i

alert('map中的键值'+map.keys()[i]);

}

alert('map中的所有的value值的长度'+map.values().length);

for(var i=0;i

alert('map中的value的值'+map.values()[i]);

}

alert('判断map中的值value是否存在3'+map.containsValue(3));

测试map

php 模仿 java_js模仿java的Map集合,实现功能相关推荐

  1. 1.6 Java遍历Map集合

    Java遍历Map集合的四种方式 Map 集合的遍历与 List 和 Set 集合不同.Map 有两组值,因此遍历时可以只遍历值的集合,也可以只遍历键的集合,也可以同时遍历.Map 以及实现 Map ...

  2. java 定义map集合_java基础-Map集合

    java基础-Map集合 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Map集合概述 我们通过查看Map接口描述,发现Map接口下的集合与Collection接口下的集合,它 ...

  3. (10)Java泛型-Map集合-集合框架工具类-可变参数-静态导入

    -- 部分1.5新特性Java泛型-Map集合-集合框架工具类 泛型 概述: JDK1.5版本以后出现的新特性,用于解决安全问题,是一个类型安全机制. 对于泛型可以这样理解: 没有使用泛型时,只要是对 ...

  4. 黑马程序员----------------java基础-----------------Map集合

     ------- <a href="http://www.itheima.com" target="blank">android培训</a ...

  5. JAVA中Map集合的使用举例

    首先创建一个Emp类,再将几个Emp对象添加到Map集合中. Emp的id作为Map的键,并将id为"005"的对象从集合中删除. package com.han;import j ...

  6. [Java基础]Map集合的遍历

    Map集合是Java中非常常用的一个集合,通过Map集合可以实现对数据的快速检索和插入删除等操作:同样对Map集合的遍历也是十分重要的:如果你之前学过C++,那么对于Map的遍历操作可就不能像是C++ ...

  7. java map集合遍历方法,Java的Map集合的三种遍历方法

    集合的一个很重要的操作---遍历,学习了三种遍历方法,三种方法各有优缺点~~ 1. package com.myTest.MapText; import java.util.Collection; i ...

  8. java akiba,Map集合的遍历(java)

    Map集合通过entrySet 和 keySet都可以使用迭代器 以及for循环拿到key和value: import java.util.HashMap; import java.util.Iter ...

  9. java用map集合实现随机抽奖源码

    import java.util.HashMap; import java.util.Random;//用map实现抽奖 public class demo3 {public static void ...

最新文章

  1. 华硕服务器第三届“IT硬件平台搭建大赛”获奖方案
  2. Linux 操作系统原理 — 内存 — Cache 和 Buffer
  3. 在winform中使用三层架构学习总结
  4. 「ZJOI2016」大森林 解题报告
  5. php保存成乱序,PHP实现断点续传乱序合并文件的方法
  6. Android数据手册:Android颜色码制表
  7. JSF:在正确的阶段进行验证(了解生命周期)
  8. TensorFlow:递归神经网络
  9. nvidia-smi介绍
  10. 毕业设计 基于java的贴吧论坛_java毕业设计_springboot框架的论坛贴吧
  11. vivo android 6.0 root,vivo手机怎么获取root权限?vivo手机一键ROOT教程
  12. 基于ResNet的MSTAR数据集目标分类
  13. mysql myisam 主键关联_MySQL中myisam和innodb的主键索引有什么区别?
  14. 美团一面--后台开发
  15. Rasa Stack:创建支持上下文的人工智能助理和聊天机器人教程
  16. VIRTUALPLANETBUILDER (vpb) osgdem 用法
  17. 出彩的PPT封面如何设置?这些例子建议收藏
  18. python package 之 jenkins
  19. 搭建可通过外网访问的内网服务器
  20. cocos2dx 编译android-studio nkd报错的解决方法

热门文章

  1. Linux之RPM 软件包管理
  2. 在leopard下用textmate开发rails项目
  3. Android热修复升级探索——SO库修复方案
  4. LINUX系统服务与管理(Services)---------第五天
  5. bat 服务启动脚本
  6. 带你入门 CSS Grid 布局
  7. select unit_timestamp(); 和select unit_timestamp(1970-1-1 08:00:00)和 select from_unixtime(1)...
  8. Lucene工具箱之OpenBitSet(一)
  9. (转)Unity3d UnityEditor编辑器定制和开发插件
  10. 20140710文安c++面试总结