JavaTM Platform
Standard Ed. 6

java.util
インタフェース Map.Entry<K,V>

既知の実装クラスの一覧:
AbstractMap.SimpleEntry, AbstractMap.SimpleImmutableEntry
含まれているインタフェース:
Map<K,V>

public static interface Map.Entry<K,V>

マップのエントリ (キーと値のペア) です。Map.entrySet メソッドは、このクラスに属する要素を持つマップのコレクションビューを返します。マップエントリへの参照を取得する唯一の方法は、このコレクションビューの反復子から取得する方法です。これらの Map.Entry オブジェクトは、繰り返し処理中にだけ有効です。 すなわち、マップエントリの setValue オペレーション以外の方法でエントリが反復子によって返されたあとに、基になっているマップが変更された場合、マップエントリの動作は定義されていません。

導入されたバージョン:
1.2
関連項目:
Map.entrySet()

メソッドの概要
 boolean equals(Object o)
          指定されたオブジェクトがエントリと等しいかどうかを比較します。
 K getKey()
          エントリに対応するキーを返します。
 V getValue()
          エントリに対応する値を返します。
 int hashCode()
          このマップエントリのハッシュコード値を返します。
 V setValue(V value)
          エントリに対応する値を、指定された値に置き換えます (任意のオペレーション)。
 

メソッドの詳細

getKey

K getKey()
エントリに対応するキーを返します。

戻り値:
エントリに対応するキー
例外:
IllegalStateException - 実装は、このエントリがその基になるマップから削除されている場合にこの例外をスローすることができる。ただし、必須ではない

getValue

V getValue()
エントリに対応する値を返します。マッピングが (反復子の remove オペレーションによって) 基になっているマップから削除されている場合は、この呼び出しの結果は保証されません。

戻り値:
エントリに対応する値
例外:
IllegalStateException - 実装は、このエントリがその基になるマップから削除されている場合にこの例外をスローすることができる。ただし、必須ではない

setValue

V setValue(V value)
エントリに対応する値を、指定された値に置き換えます (任意のオペレーション)。マップに書き込みます。マッピングが (反復子の remove オペレーションによって) すでにマップから削除されている場合は、この呼び出しの結果は保証されません。

パラメータ:
value - エントリに格納されている新しい値
戻り値:
エントリに対応する以前の値
例外:
UnsupportedOperationException - put オペレーションが基になるマップでサポートされない場合
ClassCastException - 指定された値のクラスが原因で、基となるマップにその値を格納できない場合
NullPointerException - 基となるマップが null 値を許可せず、指定された値が null である場合
IllegalArgumentException - この値のあるプロパティーが原因で、基となるマップにその値を格納できない場合
IllegalStateException - 実装は、このエントリがその基になるマップから削除されている場合にこの例外をスローすることができる。ただし、必須ではない

equals

boolean equals(Object o)
指定されたオブジェクトがエントリと等しいかどうかを比較します。指定されたオブジェクトもマップエントリであり、2 つのエントリが同じマッピングを表す場合は true を返します。つまり、2 つのエントリ e1e2 は、次のようになる場合に同じマッピングを表します。
     (e1.getKey()==null ?
      e2.getKey()==null : e1.getKey().equals(e2.getKey()))  &&
     (e1.getValue()==null ?
      e2.getValue()==null : e1.getValue().equals(e2.getValue()))
 
これにより、Map.Entry インタフェースの実装が異なる場合でも、equals メソッドが正常に動作することが保証されます。

オーバーライド:
クラス Object 内の equals
パラメータ:
o - マップエントリと等しいかどうかを比較するオブジェクト
戻り値:
指定されたオブジェクトがこのマップエントリと等しい場合は true
関連項目:
Object.hashCode(), Hashtable

hashCode

int hashCode()
このマップエントリのハッシュコード値を返します。マップエントリ e のハッシュコードは、次のように定義されます。
     (e.getKey()==null   ? 0 : e.getKey().hashCode()) ^
     (e.getValue()==null ? 0 : e.getValue().hashCode())
 
これにより、Object.hashCode の一般規約によって要求される、任意の 2 つのエントリ e1e2 で、e1.equals(e2) であれば e1.hashCode()==e2.hashCode() となることが保証されます。

オーバーライド:
クラス Object 内の hashCode
戻り値:
マップエントリのハッシュコード値
関連項目:
Object.hashCode(), Object.equals(Object), equals(Object)

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。