Map接口的遍历方法
(1) containsKey: 查找键是否存在
(2) keySet:获取所有键
(3) entrySet:获取所有关系k-v
(4) values:获取所有值
Mapmap=newHashMap();
map.put(“邓超“,newBook(“”,100));
map.put(“邓超“,“孙俪“);
map.put(“王宝强“,“马蓉“);
map.put(“宋哲“,“马蓉“);
map.put(“六零博“,null);
map.put(null,“刘亦菲“);
//第一组:先取出所有k值,通过key取出对应的value
Setkeyset=map.keySet();
//(1)增强for
System.out.println(“——-第一种方式——-“);
for(Objectkey:keyset){
System.out.println(key+“-“+map.get(key));
}
//(2)迭代器
System.out.println(“——-第二种方式——“);
Iteratorierator=keyset.iterator();
while(ierator.hasNext()){
Objectnext=ierator.next();
System.out.println(next+“-“+map.get(next));
}
//第二组:把所有的values取出
Collectionvalues=map.values();
//这里可以使用所有的Collections使用的遍历方法
//(1)增强for
System.out.println(“—取出所有的value增强for—–“);
for(Objectvalue:values){
System.out.println(value);
}
//(2)迭代器
System.out.println(“—取出所有的value增强for—–“);
Iteratoriterator=values.iterator();
while(iterator.hasNext()){
Objectobj=iterator.next();
System.out.println(obj);
}
//第三组:通过EntrySet来获取k-v
SetentrySet=map.entrySet();//EntrySet<Map.Entry<k,v>>
//(1)增强for
System.out.println(“—使用EntrySet的for增强(第3种)—“);
for(Objectentry:entrySet){
Map.Entrym=(Map.Entry)entry;
System.out.println(m.getKey()+“-“+m.getValue());
}
//(2)迭代器
System.out.println(“—使用EntrySet的for增强(第3种)—“);
Iteratoriterator2=entrySet.iterator();
while(iterator2.hasNext()){
Objectnext=iterator2.next();
//System.out.println(next.getclass());//HashMap$Node-实现->Map.Entry(getKey())
//向下转型Map.Entry
Map.Entrym=(Map.Entry)next;
System.out.println(m.getKey()+“-“+m.getValue());
}