MAP 是java中的接口,Map.Entry是Map的一个内部接口。
Map提供了一些常用方法,如Keyset(),entrySet() 等方法返回值是Map中key值的集合;entrySet()的返回值也是返回一个set集合,此集合的类型为Map.Entry。
Map.Entry是map声明的一个内部接口,此接口为泛型,定义为Entry<K,V>.它表示map中的一个实体(一个key-value对)。接口中有getkey(),getVlaue方法。
下面是遍历map的四种方式:
public static void main(String[] arg){
Map<String,String> map = new HashMap<String,String>();
map.put("1","value1");
map.put("2","value2);
map.put("3","value3");
//第一种遍历的方式 二次取值 通过遍历map.keyset() 来遍历key和value
for(String key : map.keySet()){
System.out.println("key="+key+" and value = "+map.get(key));
}
//第二种 通过map.entryset使用iterator 遍历key和value
Iterator<Map.Entry<String,String>> it = map.entrySet().iterator();
while (it.hasNext()){
Map.Entry<String,String> entry = it.next();
System.out.println("key="+enty.getKey()p +"and value = "+entry.getValue());
}
//第三种 容量大的时候 推荐
for(Map.Entry<String,String> entry :map.entrySet()){
System.out.println("key = "+entry.getKey() +"and value="+entry.getValue());
}
//第四种 通过map.values()遍历所有的value。但不能遍历key
for(String v : map.values()){
System.out.println("value= "+v);
}
}