Map.Entry 類使用簡介(轉)
阿新 • • 發佈:2018-11-10
你是否已經對每次從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裡面的值。