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

Posted SpringThread

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了另一种遍历Map的方式: Map.Entry 和 Map.entrySet()相关的知识,希望对你有一定的参考价值。

今天看Think in java 的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<String> keys = m.keySet( );
if(keys != null) 
    for(String s : keys)
        t.append(s + ": " + m.get(s) + "/n");
 


 

 

以上是关于另一种遍历Map的方式: Map.Entry 和 Map.entrySet()的主要内容,如果未能解决你的问题,请参考以下文章

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

java中map的常用遍历方法

Map对象中的keyset()entryset()和Map.Entry 以及 四种遍历map的方式

遍历hashMap的两种方式

Java集合的遍历方式

Java中Map的 entrySet() 详解以及用法(四种遍历map的方式)