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

不明白这个foreach语法。。。。
for(Map.Entry<String,String> me:map.entrySet()){
System.out.println(me.getKey() + " --> " + me.getValue()) ;
}
map.entrySet()的返回值应该是是Set<Map.Entry<K,V>>,就是Set接口关于Map.Entry<K,V>的实例吧,而那里为什么是Map.Entry<String,String>呢????


------解决方案--------------------
Map.Entry<K,V>中的K V 表示数据类型 Map.Entry<String,String> 表示用String类型标记String类型
------解决方案--------------------
探讨
for(Map.Entry<String,String> me:map.entrySet()){
System.out.println(me.getKey() + " --> " + me.getValue()) ;
}
map.entrySet()的返回值应该是是Set<Map.Entry<K,V>>,就是Set接口关于Map.Entry<K,V>的实例吧,而那里为什么是Map.Entry……

------解决方案--------------------
探讨

引用:
for(Map.Entry<String,String> me:map.entrySet()){
System.out.println(me.getKey() + " --> " + me.getValue()) ;
}
map.entrySet()的返回值应该是是Set<Map.Entry<K,V>>,就是Set接口关于Map.Entry<K,V>的实例吧,而那里……

------解决方案--------------------

K, V 是泛型标识 , 具体类型,需要自己指定, 这里的K,V是想说(Key, Value)的类型.

Map.Entry<K,V>中的K V 表示数据类型 Map.Entry<String,String> 表示用String类型标记String类型

 具体类型,需要自己指定
------解决方案--------------------
Java code

import java.util.LinkedList;
import java.util.List;




public class Test {
    
    public static void main(String[] args) throws Exception{
        List<String> list = new LinkedList<String>();
        list.add("abc");
        list.add("def");
        list.add("ghi");
        for(String s:list){
            System.out.println(s);
        }
    }
    
}