•
1,实现
Map
接口的容器类用来存储
“
键
-
值
”
映射对。
•
JDK API
中
Map
接口的实现类常用的有
–
---HashMap
–
---TreeMap
–
---Hashtable
(
并不常用
)
•
Properties
•
2,Map
实现类中存储的
“
键
-
值
”
映射对是通过键来唯一标识,
Map
底层的
“
键
”
是用
Set
来存放的。
3,所以存入
Map
中的映射对的
“
键
”
对应的类必须重写
hashcode()
和
equals()
方法。
–
----常用
String
作为
Map
的
“
键
”
。
•
4,Map
接口中定义的一些常用方法:
–
---Object put(Object key, Object value);
//
将指定的
“
键
-
值
”
对存入
Map
中
–
---Object get(Object key);
//
返回指定键所映射的值
–
---Object remove(Object key);
//
根据指定的键把此
“
键
-
值
”
对从
Map
中移除。
–
---boolean
containsKey(
Object
key)
; //
判断此
Map
是否包含指定键的
“
键
-
值
”
对。
–
---boolean
containsValue(
Object
value)
;
//
判断此
Map
是否包含指定值的
“
键
-
值
”
对。
–
---boolean isEmpty();
//
判断此
Map
中是否有元素。
–
---int size();
//
获得些
Map
中
“
键
-
值
”
对的数量。
–
---void clear();
//
清空
Map
中的所有
“
键
-
值
”
对。
–
---Set keySet();
//
返回此
Map
中包含的键的
Set
集。
–
---Collection values();
//
返回此
Map
中包含的值的
Collection
集。
•
(1)JDK1.4
以前:
–
装入容器的数据都会被当作
Object
对象来存放,从而失去了自己的实际类型。
–
从容器中取出元素时,需要进行强制类型转换。
•
(2)JDK5.0
之后,可以用泛型来解决这个问题
–
在定义一个容器时就指定容器存储的对象的数据类型
•
如:
Collection<String> coll = new ArrayList<String>();
–
从容器中取出元素时,无需转型了。
•
如:
String str1 =
it
.next();
•
(3)优点
–
简化容器的使用
–
增强代码的可读性