日期:2014-05-20  浏览次数:20756 次

关于Map迭代的几种做法,看看大家都喜欢用哪一种方式呢?
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

public class MapIterationTest {

public static void main(String [] args){
dis();
}
public static void dis(){
/*Map迭代的几种方法*/
Map<String,String> map =new HashMap<String,String>();
map.put("1", "test1");
map.put("2", "test2");
//方法1 
System.out.println("方法一");
Set<String> set=map.keySet();
for(String s: set){
System.out.println(s+","+map.get(s));
}
//方法2
System.out.println("方法二");
Set<Map.Entry<String, String>> setEntry=map.entrySet();
for(Map.Entry<String, String> entry :setEntry){
System.out.println(entry.getKey() + "," + entry.getValue());
}
//方法3
System.out.println("方法三");
Iterator<String> ite=map.keySet().iterator();
while(ite.hasNext()){
System.out.println(map.get(ite.next()));
}
//方法4
System.out.println("方法四");
Iterator<String> ite2=map.values().iterator();
while(ite2.hasNext()){
System.out.println(ite2.next());
}

}


}

------解决方案--------------------
1和2,3=1,4基本没用