集合知识点梳理

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(“—使用EntrySetfor增强(3)—“);

for(Objectentry:entrySet){

Map.Entrym=(Map.Entry)entry;

System.out.println(m.getKey()+“-“+m.getValue());

}

//(2)迭代器

System.out.println(“—使用EntrySetfor增强(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());

}