Java中Map的三种遍历方法

摘自:http://blog.csdn.net/tsyj810883979/article/details/6746274

Map的三种遍历方法:
1. 使用keySet遍历,while循环;
2. 使用entrySet遍历,while循环;
3. 使用for循环遍历。
 
下面是测试代码
  • import java.util.*;  
  •   
  • public class MapTraverse {  
  •     public static void main(String[] args) {  
  •         String[] str = {"I love you", "You love he", "He love her", "She love me"};  
  •         Map<Integer, String> m = new HashMap();  
  •         for(int i=0; i<str.length; i++) {  
  •             m.put(i, str[i]);  
  •         }  
  •         System.out.println("下面是使用useWhileSentence()方法输出的结果:");  
  •         useWhileSentence(m);  
  •         System.out.println("下面是使用useWhileSentence2()方法输出的结果:");  
  •         useWhileSentence2(m);  
  •         System.out.println("下面是使用useForSentence()方法输出的结果:");  
  •         useForSentence(m);  
  •     }  
  •       
  •     public static void useWhileSentence(Map<Integer, String> m) {  
  •         Set s = (Set<Integer>)m.keySet();  
  •         Iterator<Integer> it = s.iterator();  
  •         int Key;  
  •         String value;  
  •         while(it.hasNext()) {  
  •             Key = it.next();  
  •             value = (String)m.get(Key);  
  •             System.out.println(Key+": "+value);  
  •         }  
  •     }  
  •       
  •     public static void useWhileSentence2(Map m) {  
  •         Set s = m.entrySet();  
  •         Iterator<Map.Entry<Integer, String>> it = s.iterator();  
  •         Map.Entry<Integer, String> entry;  
  •         int Key;  
  •         String value;  
  •         while(it.hasNext()) {  
  •             entry = it.next();  
  •             Key = entry.getKey();  
  •             value = entry.getValue();  
  •             System.out.println(Key+": "+value);  
  •         }  
  •     }  
  •       
  •     public static void useForSentence(Map<Integer, String> m) {  
  •         int Key;  
  •         String value;  
  •         for(Map.Entry<Integer, String> entry : m.entrySet()) {  
  •             Key = entry.getKey();  
  •             value = entry.getValue();  
  •             System.out.println(Key+": "+value);  
  •         }  
  •     }  
  •       
  • }  
原文地址:https://www.cnblogs.com/whsa/p/4223808.html