1.Map是一个接口,HashMap
,TreeMap
和LinkedHashMap
都是Map的实现类。
2.Map<String ,String> map=new HashMap<String,String>();
因为Map中存储的是键值对象,所以添加泛型的时候,也需要两个泛型。
3.Map中添加元素时,使用的put
方法。
4.对于Map
中的key
值其实相当于一个Set,key值存储时,是唯一的,而且是无序的。对于value,它是跟着key走的,如果有相同的key,就会出现value的覆盖(后覆盖前)。
5。遍历Map。这个比较特殊代码如下:
Set<Map.Entry<Integer,Student>> entrySet=map.entrySet();
Iterator<Map.Entry<Integer,Student>> it=entrySet.iterator();
while(it.hasNext()){
Map.Entry<Integer,Student> entry=it.next();
System.out.println(entry);
}
(1)首先要调用map.entrySet()
方法,返回值是一个Set,的到关于键值的Set
,也就是说这个Set
中既包含key
又包含value
要注意这里的泛型类型。其中Entry
是Map内部的一个接口。
(2)使用新获得的Set
来调用iterator()
方法,这样才能得到键值的组合。同时注意泛型类型。
(3)剩下就是迭代器的正常操作。