1、使用entries来遍历(entrySet()的返回值也是返回一个Set集合,此集合的类型为Map.Entry)
使用说明:该方法只能用于java 5或者更高的版本;如果遍历的map是一个空值,循环会抛出NUllPointerException,因此在遍历之前必须检查是否为空!
Map<Object, Object> map = new HashMap<Object, Object>();
for(Map.Entry<Object, Object> entry : map.entryset()){
System.out.print("Key = "+entry.getKey()+",value="+entry.getValue());
}
2、使用keySet或者values来进行遍历
使用说明:该方法相对前者快了10%左右;
Map<Object, Object> map = new HashMap<Object, Object>();
for(Object key : map.keySet){ //只能遍历key
System.out.print("Key = "+key);
}
for(Object value : map.values){ //只能遍历value
System.out.print("Value = "+value);
}
3、使用Iterator进行遍历
使用说明:在低版本的java中可以使用该方法;
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
}
备注:对方法3中进行一些说明
//获得map的迭代器,用作遍历map中的每一个键值对
Iterator是迭代器,可以认为是HashMap。
map.entrySet()是把HashMap类型的数据转换成集合类型
map.entrySet().iterator()是去获得这个集合的迭代器,保存在iter里面。
while(iter.hasNext()) {
Entry obj = it.next();//就能获得map中的每一个键值对了
}