下面列出一些最常用的Java遍历Map对象的方法
1、在for-each中使用entrySet遍历
这是最常用的遍历方式。在键值都需要时使用。
Map<String,String> map = new HashMap<String,String>();for(Map.Entry<String, String> entry : map.entrySet()){ System.out.println(entry.getKey()+" : "+entry.getValue());}
2、在for-each循环中遍历keys或values
如果只需要map中的键或者值,可以通过keySet或values来实现遍历,而不是用entrySet。
Map<String,String> map = new HashMap<String,String>();for(String key : map.keySet()){ System.out.println("key: " + key);}for(String value : map.values()){ System.out.println("value: " + value);}
3、使用Iterator遍历
Map<String,String> map = new HashMap<String,String>();Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();while(iterator.hasNext()){ Map.Entry<String, String> m = iterator.next(); System.out.println(m.getKey()+ " : "+m.getValue());}
使用此方法在遍历时调用iterator.remove()可以删除entries,其他方法则不能,可能会产生意想不到的结果。
参考:链接
4、通过key遍历value
Map<String,String> map = new HashMap<String,String>();for(String key : map.keySet()){ String value = map.get(key); System.out.println(key + " : " +value);}
例:
import java.util.HashMap;import java.util.Iterator;import java.util.Map;public class T { public static void main(String[] args) { Map<String, String> map = new HashMap<String, String>(); map.put("beijing", "kaoya"); map.put("henan", "hulatang"); map.put("tianjin", "mahua"); System.out.println("1、在for-each中使用entrySet遍历"); for (Map.Entry<String, String> entry : map.entrySet()) { System.out.println(entry.getKey() + " : " + entry.getValue()); } System.out.println("2、在for-each循环中遍历keys或values"); for (String key : map.keySet()) { System.out.println("key: " + key); } for (String value : map.values()) { System.out.println("value: " + value); } System.out.println("3、使用Iterator遍历"); Iterator<Map.Entry<String, String>> ite = map.entrySet().iterator(); while (ite.hasNext()) { Map.Entry<String, String> m = ite.next(); System.out.println(m.getKey() + " : " + m.getValue()); } System.out.println("4、通过key遍历value"); for (String key : map.keySet()) { String value = map.get(key); System.out.println(key + " : " + value); } }}