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+":\t"+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+":\t"+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+":\t"+value);  
  •         }  
  •     }  
  •       
  • }  
posted @ 2015-01-14 14:08  梦之心上  阅读(269)  评论(0编辑  收藏  举报