日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2023/12/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 另一种遍历Map的方式: Map.Entry 和 Map.entrySet() 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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

?

????今天看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 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.????public static void main(String[] args) {
10.????????Map<String,String> map=new HashMap<String,String>();?
11.????????map.put("1", "張三");?
12.????????map.put("2", "李四");?
13.????????map.put("3", "王五");?
14.?????????
15.????????System.out.println("方法一:");?
16.????????Iterator iterator=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=new HashMap<String,String>();
??map.put("1", "張三");
??map.put("2", "李四");
??map.put("3", "王五");
??
??System.out.println("方法一:");
??Iterator iterator=map.entrySet().iterator();
????????while(iterator.hasNext()){?????
???????????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張三?

轉載于:https://www.cnblogs.com/ceshi2016/p/6244764.html

總結

以上是生活随笔為你收集整理的另一种遍历Map的方式: Map.Entry 和 Map.entrySet()的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。