java中map遍历的四种遍历方式

来源:互联网 发布:bn网络 编辑:程序博客网 时间:2024/05/21 16:53

方法1:在for-each循环中使用entries来遍历,键值都需要时使用(初始化的时候最好加上泛型)

  • Map<String, Integer> map = new HashMap<String, Integer>();  
  •   
  • for (Map.Entry<String, Integer> entry : map.entrySet()) {  
  •   
  •     System.out.println("Key ====== " + entry.getKey() + ", Value ======= " + entry.getValue());  
  •   
  • 注意:for-each循环时,map不能为空,否则会抛出NullPointerException异常。而且for-each只在Java5以上支持。
方法2:在for-each循环中遍历keys或values
  • Map<String, Integer> map = new HashMap<String, Integer>();  
  •   
  • //遍历map中的键  
  •   
  • for (String key : map.keySet()) {  
  •   
  •     System.out.println("Key ========" + key);  
  •   
  • }  
  •   
  • //遍历map中的值  
  •   
  • for (Integervalue : map.values()) {  
  •   
  •     System.out.println("Value ======== " + value);  
  •   

方法3:使用Iterator遍历

  • Map<String, Integer> map = new HashMap<String, Integer>(); 
  • Iterator<Map.Entry<String, Integer>> entries = map.entrySet().iterator(); 

  • while (entries.hasNext()) { 
  •  Map.Entry<String, Integer> entry = entries.next(); 
  • System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue()); 
  • }

方法4:通过键获取值遍历(效率低)

  • Map<Integer, Integer> map = new HashMap<Integer, Integer>(); 
  • for (Integer key : map.keySet()) {
  • Integer value = map.get(key); 
  •  System.out.println("Key = " + key + ", Value = " + value);
  • }










0 0