国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

Map.Entry詳解

2019-11-10 18:37:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

1.Map.Entry說(shuō)明

Map是java中的接口,Map.Entry是Map的一個(gè)內(nèi)部接口。

Map提供了一些常用方法,如keySet()、entrySet()等方法,keySet()方法返回值是Map中key值的集合;entrySet()的返回值也是返回一個(gè)Set集合,此集合的類(lèi)型為Map.Entry。

Map.Entry是Map聲明的一個(gè)內(nèi)部接口,此接口為泛型,定義為Entry<K,V>。它表示Map中的一個(gè)實(shí)體(一個(gè)key-value對(duì))。接口中有g(shù)etKey(),getValue方法。

2.Map.Entry使用

你是否已經(jīng)對(duì)每次從Map中取得關(guān)鍵字然后再取得相應(yīng)的值感覺(jué)厭倦?使用Map.Entry類(lèi),你可以得到在同一時(shí)間得到所有的信息。標(biāo)準(zhǔn)的Map訪問(wèn)方法如下:

Set keys = map.keySet( );if(keys != null) {Iterator iterator = keys.iterator( );while(iterator.hasNext( )) {Object key = iterator.next( );Object value = map.get(key);;....;}}

然后,這個(gè)方法有一個(gè)問(wèn)題。從Map中取得關(guān)鍵字之后,我們必須每次重復(fù)返回到Map中取得相對(duì)的值,這是很繁瑣和費(fèi)時(shí)的。

幸運(yùn)的是,這里有一個(gè)更加簡(jiǎn)單的途徑。Map類(lèi)提供了一個(gè)稱(chēng)為entrySet()的方法,這個(gè)方法返回一個(gè)Map.Entry實(shí)例化后的對(duì)象集。接著,Map.Entry類(lèi)提供了一個(gè)getKey()方法和一個(gè)getValue()方法,因此,上面的代碼可以被組織得更符合邏輯。舉例如下:

Set entries = map.entrySet( );if(entries != null) {Iterator iterator = entries.iterator( );while(iterator.hasNext( )) {Map.Entry entry =iterator.next( );Object key = entry.getKey( );Object value = entry.getValue();;....}}

盡管增加了一行代碼,我們卻省略了許多對(duì)Map不必要的“get”調(diào)用。同時(shí),提供給開(kāi)發(fā)人員一個(gè)同時(shí)保持了關(guān)鍵字和其對(duì)應(yīng)的值的類(lèi)。Map.Entry同時(shí)也提供了一個(gè)setValue()方法,程序員可以使用它修改map里面的值。

文章


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 德兴市| 德州市| 灵川县| 岳阳市| 嘉峪关市| 海原县| 汉阴县| 扎赉特旗| 志丹县| 阳谷县| 云和县| 闵行区| 通化市| 巴林右旗| 阜城县| 清原| 电白县| 阳朔县| 安图县| 子洲县| 札达县| 翁牛特旗| 衡阳市| 花莲市| 铁力市| 济源市| 乡城县| 南川市| 孟州市| 和平县| 安阳市| 白山市| 万盛区| 涞源县| 古浪县| 新昌县| 洪江市| 安岳县| 华坪县| 武胜县| 剑阁县|