•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)优点
–简化容器的使用
–增强代码的可读性