Map集合
Map接口中的常用方法
V remove(K) :移除集合中的键值对,返回被移除之前的值
V get(K) :通过键对象,获取值对象,如果集合中没有这个键,返回null
put(K,V) : K作为键的对象,V作为值的对象,将键值对存储到集合中,存储的是重复的键,将原有的值覆盖,存储重复键的时候,返回被覆盖之前的值。返回值一般情况下返回null.
Map集合遍历方式:
keySet方法:
1.获取Map集合中所有的键,由于键是唯一的,所以返回一个Set集合存储所有的键
2.遍历键的Set集合,得到每一个键
3.根据键利用get(key)去Map找所对应的值
Map<String,Integer> map = new HashMap<String,Integer>();
map.put(“a”, 11);
map.put(“b”, 12);
map.put(“c”, 13);
map.put(“d”, 14);
Set set = map.keySet();
for(String key : map.keySet()){
Integer value = map.get(key);
System.out.println(key+"…"+value);
}
entrySet方法:
1. 调用map集合方法entrySet()将集合中的映射关系对象,存储到Set集合
Set<Entry <K,V> >
2. 迭代Set集合
3. 获取出的Set集合的元素,是映射关系对象
4. 通过映射关系对象方法 getKet, getValue获取键值对
Map<Integer,String> map = new HashMap<Integer, String>();
map.put(1, “abc”);
map.put(2, “bcd”);
map.put(3, “cde”);
Set<Map.Entry <Integer,String> > set = map.entrySet();
Iterator<Map.Entry <Integer,String> > it = set.iterator();
while(it.hasNext()){
// 获取出的Set集合的元素,是映射关系对象
// it.next 获取的是什么对象,也是Map.Entry对象
Map.Entry<Integer, String> entry = it.next();
// 通过映射关系对象方法 getKet, getValue获取键值对
Integer key = entry.getKey();
String value = entry.getValue();
System.out.println(key+"…"+value);
}
//for(Map.Entry<Integer, String> entry : map.entrySet()){
// System.out.println(entry.getKey()+"…"+entry.getValue());
//}
注意:Map集合不能直接使用迭代器或者foreach进行遍历。但是转成Set之后就可以使用了。