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