您的位置:首页 > 其它

遍历map的两种方法

2008-04-10 12:50 441 查看
第1种方法:
用entrySet返回一个包含映射的set-view,再用set类的方法iterator()取得遍历的接口。
it.next(),返回Map.Entry类型,它包括两部分——键、值。
可通过 getKey(),getValue()方法分别获得。


java.util.Iterator it= null; //注意 他是接口


int flag=0;


String s1="";


//hm是已经有数据的HashMap类的实例




for(int i=0;i<hm.size();i++) ...{


it=hm.entrySet().iterator();






while(it.hasNext()) ...{


java.util.Map.Entry en=(java.util.Map.Entry)it.next(); //java.util.Map.Entry是静态接口


int newflag=((Integer)en.getValue()).intValue();




if(newflag>flag) ...{


s1=(String)en.getKey();


flag=newflag;


}


}




}

第2种方法:


//hm是已经有数据的HashMap实例


java.util.Iterator it2 = hm.keySet().iterator();


//keySet()方法,返回只包含关键字(不包含value)的set-view




while (it2.hasNext())...{


String key =(String)it2.next();


String value=(String)hm.get(key);


}



因此,如果遍历key,value,用entrySet,效率高。 
如果只遍历key,用keySet效率高。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: