欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

映射关系接口Map

程序员文章站 2024-02-22 10:09:28
...

一 Map集合概述

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

二 代码示例

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,该方法返回被覆盖的value
		System.out.println(map.put("Linux" , 99)); // 输出10
		System.out.println(map); // 输出的Map集合包含4个key-value对
		// 判断是否包含指定key
		System.out.println("是否包含值为 Linux key:"
			+ map.containsKey("Linux")); // 输出true
		// 判断是否包含指定value
		System.out.println("是否包含值为 99 value:"
			+ map.containsValue(99)); // 输出true
		// 获取Map集合的所有key组成的集合,通过遍历key来实现遍历所有key-value对
		for (Object key : map.keySet() )
		{
			// map.get(key)方法获取指定key对应的value
			System.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。

相关标签: Map key-value