map的两种传统输出方式:
package com.java.study;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
public class TestMap {
public static void main(String[] args) {
//两种方法实现map的输出
Map map = new HashMap();
map.put(1,"yyyy");
map.put(2, "oooo");
map.put(3, "uuuu");
map.put(4, "jjjj");
//第一种方法
Set set = map.keySet();
Iterator ite = set.iterator();
while(ite.hasNext()) {
Integer key = (Integer)ite.next();
String value = (String)map.get(key);
System.out.println(key + "=" + value);
}
//第二种方法
Set set1 = map.entrySet();
Iterator it = set1.iterator();
while(it.hasNext()) {
Entry entry = (Entry) it.next();
Integer key = (Integer) entry.getKey();
String value = (String) entry.getValue();
System.out.println(key + "=" + value);
}
}
}
输出结果为:
1=yyyy
2=oooo
3=uuuu
4=jjjj
1=yyyy
2=oooo
3=uuuu
4=jjjj
因为增强for循环只能用在数组和实现Iterator接口的集合类中,Map须经转换后使用,如下:
package com.java.study;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
public class TestMap1 {
public static void main(String[] args) {
Map map = new HashMap();
map.put(1,"yyyy");
map.put(2, "oooo");
map.put(3, "uuuu");
map.put(4, "jjjj");
//第一种方式使用增强for循环
for(Object obj : map.keySet()) {
Integer key = (Integer)obj;
String value = (String)map.get(key);
System.out.println(key + "=" + value);
}
//第二种方式使用增强for循环
for(Object obj:map.entrySet()) {
Entry entry = (Entry)obj;
Integer key = (Integer) entry.getKey();
String value = (String) entry.getValue();
System.out.println(key + "=" + value);
}
}
}
结果为:
1=yyyy
2=oooo
3=uuuu
4=jjjj
1=yyyy
2=oooo
3=uuuu
4=jjjj