映射关系接口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。
二 代码示例
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
-
ORM其实是在映射网络模型和关系模型,OO的关系模型无需映射,且更简单高效 博客分类: 思想 OO网络应用领域模型ORM数据结构
-
详解mybatis通过mapper接口加载映射文件
-
Hibernate关系映射1:单向N-1关联
-
Java中Collection、List、Set、Map之间的关系总结
-
PAT甲级-1022-Digital Library(map映射+倒排索引)
-
PAT甲级 1022 Digital Library (30) map映射,set
-
spring mvc 获取所有的controller和url映射关系
-
详解mybatis通过mapper接口加载映射文件
-
Hibernate使用hbm.xml配置映射关系解析