1. 程式人生 > >Map.Entry 類使用簡介(轉)

Map.Entry 類使用簡介(轉)

你是否已經對每次從Map中取得關鍵字然後再取得相應的值感覺厭倦?使用Map.Entry類,你可以得到在同一時間得到所有的資訊。標準的Map訪問方法如下:

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

 

然後,這個方法有一個問題。從Map中取得關鍵字之後,我們必須每次重複返回到Map中取得相對的值,這是很繁瑣和費時的。

 

幸運的是,這裡有一個更加簡單的途徑。Map類提供了一個稱為entrySet()的方法,這個方法返回一個Map.Entry例項化後的物件集。接著,Map.Entry類提供了一個getKey()方法和一個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();
;....
}
} 

 

儘管增加了一行程式碼,我們卻省略了許多對Map不必要的“get”呼叫。同時,提供給開發人員一個同時保持了關鍵字和其對應的值的類。Map.Entry同時也提供了一個setValue()方法,程式設計師可以使用它修改map裡面的值。