转 另一种遍历Map的方式:Map.Entry和Map.entrySet()

源网址: http://blog.csdn.net/mageshuai/article/details/3523116

今天看Think injava 的GUI这一章的时候,里面的TextArea这个例子在遍历Map时用到了Map.Entry 和 Map.entrySet(),记得只见过Map.KeySet()和values()这两个方法,于是到API中一看,Map.entrySet()这个方法返回的是一个Set<Map.Entry<K,V>>,Map.Entry是一个接口,他的用途是表示一个映射项(里面有Key和Value),而Set<Map.Entry<K,V>>表示一个映射项的Set。

Map.Entry里有相应的getKey和getValue方法,让我们能够从一个项中取出Key和Value。这样就能理解了例子中的写法了。

for(Map.Entry me : m.entrySet()) {

t.append(me.getKey() + ": " + me.getValue() + "/n");

}

这里的t是一个TextArea,m是一个HashMap。

这种遍历Map的方法可以让我们在从Map中取得关键字之后,我们不用每次重复返回到Map中取得相对的值。

如下面是以前的写法:每次都要再从m中读出s所对应的值。

Set keys = m.keySet( );
if(keys != null)
for(String s : keys)
t.append(s + ": " + m.get(s) + "/n");

源网址: http://blog.csdn.net/nuoshueihe/article/details/7874069

1.package edu.smc.test;
2.
3.import java.util.HashMap;
4.import java.util.Iterator;
5.import java.util.Map;
6.import java.util.Map.Entry;
7.
8.public class TestEntrySet {
9. publicstatic void main(String[] args) {
10.Map<String,String> map=newHashMap<String,String>();
11.map.put("1", "张三");
12.map.put("2", "李四");
13.map.put("3", "王五");
14.
15.System.out.println("方法一:");
16.Iteratoriterator=map.entrySet().iterator();
17.while(iterator.hasNext()){
18.Map.Entry<String, String> entry=(Entry<String, String>)iterator.next();
19.System.out.println("key:"+entry.getKey()+"value"+entry.getValue());
20.}
21.
22.System.out.println("方法二:");
23.for (Map.Entry<String, String> m :map.entrySet()) {
24.System.out.println("key:"+m.getKey()+"value"+m.getValue());
25.}
26.}
27.}
package edu.smc.test;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

public class TestEntrySet {
public static void main(String[] args) {
Map<String,String>map=newHashMap<String,String>();
map.put("1", "张三");
map.put("2", "李四");
map.put("3", "王五");

System.out.println("方法一:");
Iteratoriterator=map.entrySet().iterator();
while(iterator.hasNext()){
[转]另一种遍历Map的方式:Map.Entry和Map.entrySet()
Map.Entry<String, String> entry=(Entry<String, String>)iterator.next();
System.out.println("key:"+entry.getKey()+"value"+entry.getValue());
}

System.out.println("方法二:");
for (Map.Entry<String, String> m :map.entrySet()) {
System.out.println("key:"+m.getKey()+" value"+m.getValue());
}
}
}
结果:

[html] view plaincopyprint?
1.方法一:
2.key:3 value王五
3.key:2 value李四
4.key:1 value张三
5.方法二:
6.key:3 value王五
7.key:2 value李四
8.key:1 value张三

  

爱华网本文地址 » http://www.413yy.cn/a/25101018/375043.html

更多阅读

放下,是另一种幸福情感美文 情感美文

hnnycyx图书馆真诚欢迎您的到来,有空来坐坐,我的图书馆有您更精彩,留言有您更温暖!祝您快乐每一天!放下,是另一种幸福文:心月悠悠 整理:hnnycyx曾几何时的魂牵梦绕,痴痴缠缠,伤心彻骨,浑浑噩噩,惆怅万千。那些陪着我度过生命的美好时光的记忆,

让爱,永远绽放在心里人生智慧 兀自绽放的另一种人生

让爱,永远绽放在心里(人生智慧)资 料:网 络 编 辑:明月文轩爱,很深,也很浅。爱,可以是一座城,大城小爱,小城大爱,尽在心间;爱,可以是涓涓的细流,总不经意间流入心海;爱,可以是远飞的鸿雁,琴声怨,秋草荒。世界上,没有无缘无故的爱,更没有无缘无故的恨。爱

声明:《转 另一种遍历Map的方式:Map.Entry和Map.entrySet()》为网友曼珠沙华分享!如侵犯到您的合法权益请联系我们删除