映射关系接口Map

来源:互联网 发布:新的淘宝店铺如何推广 编辑:程序博客网 时间:2024/05/21 04:02

一 Map集合概述

  • Map用于保存具有映射关系的数据,因此Map集合里保存着两组值,一组值用于保存Map里的key,另外一组值用于保存Map里的value,key和value都可以是任何引用类型的数据。Map的key不允许重复,即同一个Map对象的任何两个key通过equals方法比较总是返回false。
  • key和value之间存在单向一对一关系,即通过指定的key,总能找到唯一的、确定的value。从Map中取出数据时,只要给出指定的key,就可以取出对应的value。

     

二 代码示例

import java.util.*;public class MapTest{public static void main(String[] args){Map map = new HashMap();// 成对放入多个key-value对map.put("Java" , 109);map.put("Linux" , 10);map.put("网络管理工具" , 79);// 多次放入的key-value对中value可以重复map.put("C++" , 99);// 放入重复的key时,新的value会覆盖原有的value// 如果新的value覆盖了原有的value,该方法返回被覆盖的valueSystem.out.println(map.put("Linux" , 99)); // 输出10System.out.println(map); // 输出的Map集合包含4个key-value对// 判断是否包含指定keySystem.out.println("是否包含值为 Linux key:"+ map.containsKey("Linux")); // 输出true// 判断是否包含指定valueSystem.out.println("是否包含值为 99 value:"+ map.containsValue(99)); // 输出true// 获取Map集合的所有key组成的集合,通过遍历key来实现遍历所有key-value对for (Object key : map.keySet() ){// map.get(key)方法获取指定key对应的valueSystem.out.println(key + "-->" + map.get(key));}map.remove("网络管理工具"); // 根据key来删除key-value对。System.out.println(map); // 输出结果不再包含 网络管理工具=79 的key-value对}}

 

三 运行结果

10
{Java=109, C++=99, Linux=99, 网络管理工具=79}
是否包含值为 Linux key:true
是否包含值为 99 value:true
Java-->109
C++-->99
Linux-->99
网络管理工具-->79
{Java=109, C++=99, Linux=99}

 

四 代码说明

添加key-value对时,Map允许多个value重复,但如果添加key-value对时Map中已有重复key,那么新添加的value会覆盖该key原来对应的value,该方法将会返回被覆盖的value。