日期:2014-05-19  浏览次数:21167 次

map.entry返回getKey() 和 getValue()问题
Java code

    @Test
    public void test4(){
        Map map=new LinkedHashMap();
        map.put("1", "aaa");
        map.put("2", "bbb");
        map.put("3", "ccc");
         
        //传统方式2
        Set set=map.keySet();
        Iterator it=set.iterator();
        while(it.hasNext()){
            Map.Entry entry = (Entry) it.next();
            String key=(String) entry.getKey();
            String valu=(String) entry.getValue();
            System.out.println(key + "=" + valu);
        }
        
    }


无法运行出想要的结果,为什么?

------解决方案--------------------
//传统方式2
Set set=map.keySet();//获得了key的set了,所以下面错了,改成Map.Entry entry = map.entrySet();
Iterator it=set.iterator();
while(it.hasNext()){
Map.Entry entry = (Entry) it.next();

------解决方案--------------------
for(Map.Entry e :Map.map.keySet()){
Object key= e.getKey();
Object valu= e.getValue();
}