您的位置:首页 > 其它

遍历map的两种方法

2009-11-27 11:54 260 查看
Java代码



Map<String,String> map=new HashMap<String,String>();

map.put("username", "qq");

map.put("passWord", "123");

map.put("userID", "1");

map.put("email", "qq@qq.com");

Map<String,String> map=new HashMap<String,String>();
map.put("username", "qq");
map.put("passWord", "123");
map.put("userID", "1");
map.put("email", "qq@qq.com");


第一种用for循环

Java代码



for(Map.Entry<String, String> entry:map.entrySet()){

System.out.println(entry.getKey()+"--->"+entry.getValue());

}

for(Map.Entry<String, String> entry:map.entrySet()){
System.out.println(entry.getKey()+"--->"+entry.getValue());
}


第二种用迭代

用keySet()迭代

Java代码



Iterator it=map.keySet().iterator();

while(it.hasNext()){

String key;

String value;

key=it.next().toString();

value=map.get(key);

System.out.println(key+"--"+value);

}

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

Java代码



Iterator it=map.entrySet().iterator();

System.out.println( map.entrySet().size());

String key;

String value;

while(it.hasNext()){

Map.Entry entry = (Map.Entry)it.next();

key=entry.getKey().toString();

value=entry.getValue().toString();

System.out.println(key+"===="+value);

}

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