在上一节中介绍了Collection集合,知道该集合可以用来存储同一类型的多个元素。在现实生活中存在很多信息是一一对应的,如学生学号和学生,职工号和职员,又或者如程序中的变量名和变量的值。如果在程序中,我们既想保存学号,又想保存学生名字,又或者既想保存变量名,也想保存变量值,那么应该如何实现呢?大家可能会想到将需要保存的信息封装为一个对象,这当然也是可行的,但Java为我们提供了一种更加便捷的方法—— Map。
Map可以看作是一种双列集合,它的每一个元素都可以保存为两个数据,其中一个数据被称之键(key),另一个数据被称为值(value),键和值之间存在对应关系(这种对应关系被称为映射),且键是唯一的,通过键能找到对应的值,如图9.12所示。
说明:
Map中的集合不能包含重复的键,值可以重复;每个键只能对应一个值。
图9.12 Map存储结构示意图
在学习Map之前,先了解一下Map.Entry<K,V>接口。Map.Entry<K,V>表示Map中的一个条目,即键值对。其中K表示键,V表示值。Map.Entry<K,V>的常用方法如表9.4所示。
表9.4 Map.Entry<K,V>的常用方法
接下来看看JDK中提供的Map接口常用方法,如表9.5所示。(www.daowen.com)
表9.5 Map接口常用方法
续表
表9.5列出了Map接口的一些常用方法,其中containsKey()方法和containsValue()方法用于判断映射中是否包含某个指定的键或值;而put()方法、get()方法以及remove()方法分别用于向映射中添加、读取和删除元素;最后三个方法entrySet()方法、keySet()方法以及values()方法分别用来获取此Map的键值对集合、键集合和值集合。
说明:
因为Map中的键是唯一的,因此键值对集合与键集合采用的是Set,而Map中的值允许相同,因此值集合采用的是Collection。
Map有两种比较常用的实现类:HashMap和TreeMap,下面将对这两种实现类进行详细介绍。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。