JavaTM 2 Platform
Standard Ed. 5.0

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

含まれているインタフェース:
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 - 指定された値のクラスが原因で、基になっているマップに値を格納できない場合
IllegalArgumentException - この値の一部の特性が原因で、基になっているマップに値を格納できない場合
NullPointerException - 基になっているマップが null 値を許可しないときに、指定された値が null の場合
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 2 Platform
Standard Ed. 5.0

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

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