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);
- }
- }
- }