1. 程式人生 > >Map的內部類使用介紹

Map的內部類使用介紹

問題來由:之前在看到一個小例子的時候發現了Map中原來還有一個內部類(/笑哭 , 可能我之前用的都是假的map),然後看了一下jdk,jdk中的介紹是這樣的:對映項(鍵-值對)。Map.entrySet 方法返回對映的 collection 檢視,其中的元素屬於此類。獲得對映項引用的唯一 方法是通過此 collection 檢視的迭代器來實現。這些 Map.Entry 物件僅 在迭代期間有效;更確切地講,如果在迭代器返回項之後修改了底層對映,則某些對映項的行為是不確定的,除了通過 setValue 在對映項上執行操作之外。(請允許我做一個懵逼的表情),關鍵是它說的底層對映到底是啥意思,迭代期間有效又是殺意思,看了一會兒之後我還是決定看看部落格裡的牛人們是怎麼解釋的,在找了徐久後,找到了一篇還大概能讓我自己能看得懂的文章,現在分享給大家,希望不懂的同學也能看懂。

ps:如果有大神能把這個jdk裡的這個介紹Map.Entry內部類的這段文字解釋的通俗易懂的話希望能發給小男子我看一下,非常感謝。

Map.Entry 類使用簡介

部落格分類: Java/J2se

如何簡便的遍歷Map
你是否已經對每次從Map中取得關鍵字然後再取得相應的值感覺厭倦?

使用JDK5的增強for迴圈,來遍歷Map,簡單多了,比Map.Entry還方便。
看程式碼:
Java程式碼 收藏程式碼
for (String key : map.keySet()) {
System.out.println(key + ” : ” + map.get(key));
}

最羅嗦遍歷Map的方法:

Java程式碼 收藏程式碼
Set keys = map.keySet( );
if(keys != null) {
Iterator iterator = keys.iterator( );
while(iterator.hasNext( )) {
Object key = iterator.next( );
Object value = map.get(key);
;….
;}

使用Map.Entry類,你可以得到在同一時間得到所有的資訊。
Map類提供了一個稱為entrySet()的方法,這個方法返回一個Map.Entry例項化後的 物件集。接著,Map.Entry類提供了一個getKey()方法和一個getValue()方法,因此,上面的程式碼可以被組織得更符合邏輯。
Map.Entry同時也提供了一個setValue()方法

Java程式碼 收藏程式碼
private void a(){
Map