- 既知のすべての実装クラス:
AbstractMap.SimpleEntry
,AbstractMap.SimpleImmutableEntry
public static interface Map.Entry<K,V>
マップのエントリ(キーと値のペア)です。 エントリは変更不可であるか、オプションの
setValue
メソッドが実装されている場合は値を変更できます。 エントリは、マップから独立しているか、マップの入力セット・ビューのエントリを表す場合があります。
Map.Entry
インタフェースのインスタンスは、マップのエントリ・セット・ビューを反復処理することで取得できます。 これらのインスタンスは、元のバッキング・マップへの接続を維持します。 このバッキング・マップへの接続は、エントリ・セット・ビューに対する反復期間中、有効なonlyです。 エントリ・セット・ビューの繰返し中、バッキング・マップでサポートされている場合、setValue
メソッドを介したMap.Entry
の値の変更はバッキング・マップに表示されます。 このようなMap.Entry
インスタンスの動作は、マップ・エントリ・セット・ビューの反復の外部では定義されていません。 また、Map.Entry.setValue
メソッドを除き、Map.Entry
がイテレータによって返された後にバッキング・マップが変更された場合も未定義です。 特に、バッキング・マップ内のマッピング値の変更は、エントリ・セット・ビューの対応するMap.Entry
要素に表示されない場合があります。
- APIのノート:
copyOf
メソッドを使用して、バッキング・マップから切断されたMap.Entry
インスタンスを作成できます。 たとえば、次のマップでは、元のマップが変更されても変更されないことが保証されたマップ・エントリのスナップショットが作成されます:var entries = map.entrySet().stream().map(Map.Entry::copyOf).toList()
- 導入されたバージョン:
- 1.2
- 関連項目:
-
メソッドのサマリー
修飾子と型メソッド説明static <K extends Comparable<? super K>,
V>
Comparator<Map.Entry<K,V>> キーの自然順序でMap.Entry
を比較するコンパレータを返します。static <K,
V> Comparator<Map.Entry<K, V>> comparingByKey
(Comparator<? super K> cmp) 指定されたComparator
を使用してキーでMap.Entry
を比較するコンパレータを返します。static <K,
V extends Comparable<? super V>>
Comparator<Map.Entry<K,V>> 値の自然順序でMap.Entry
を比較するコンパレータを返します。static <K,
V> Comparator<Map.Entry<K, V>> comparingByValue
(Comparator<? super V> cmp) 指定されたComparator
を使用して値でMap.Entry
を比較するコンパレータを返します。static <K,
V> Map.Entry<K, V> 指定されたMap.Entry
のコピーを返します。boolean
指定されたオブジェクトがエントリと等しいかどうかを比較します。getKey()
このエントリに対応するキーを返します。getValue()
このエントリに対応する値を返します。int
hashCode()
このマップ・エントリのハッシュ・コード値を返します。このエントリに対応する値を、指定された値に置き換えます(オプションの操作)。
-
メソッドの詳細
-
getKey
K getKey()このエントリに対応するキーを返します。- 戻り値:
- このエントリに対応するキー
- throws:
IllegalStateException
- 実装は、このエントリがその基になるマップから削除されている場合にこの例外をスローできる。ただし、必須ではない。
-
getValue
V getValue()このエントリに対応する値を返します。 マッピングが(イテレータのremove
オペレーションによって)基になっているマップから削除されている場合は、この呼出しの結果は保証されません。- 戻り値:
- このエントリに対応する値
- throws:
IllegalStateException
- 実装は、このエントリがその基になるマップから削除されている場合にこの例外をスローできる。ただし、必須ではない。
-
setValue
このエントリに対応する値を、指定された値に置き換えます(オプションの操作)。 マップに書き込みます。 マッピングが(イテレータのremove
オペレーションによって)すでにマップから削除されている場合は、この呼出しの動作は保証されません。- パラメータ:
value
- このエントリに格納される新しい値- 戻り値:
- エントリに対応する以前の値
- throws:
UnsupportedOperationException
-put
オペレーションが基となるマップでサポートされない場合ClassCastException
- 指定された値のクラスが原因で、基となるマップにその値を格納できない場合NullPointerException
- 基となるマップがnull値を許可せず、指定された値がnullである場合IllegalArgumentException
- この値の一部のプロパティが原因で、基となるマップにその値を格納できない場合IllegalStateException
- 実装は、このエントリがその基になるマップから削除されている場合にこの例外をスローできる。ただし、必須ではない。
-
equals
boolean equals(Object o) 指定されたオブジェクトがエントリと等しいかどうかを比較します。 指定されたオブジェクトもマップ・エントリであり、2つのエントリが同じマッピングを表す場合はtrue
を返します。 つまり、2つのエントリe1
とe2
は、次のようになる場合に同じマッピングを表します。(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
メソッドが正しく動作することが保証されます。 -
hashCode
int hashCode()このマップ・エントリのハッシュ・コード値を返します。 マップ・エントリe
のハッシュ・コードは、次のように定義されます。(e.getKey()==null ? 0 : e.getKey().hashCode()) ^ (e.getValue()==null ? 0 : e.getValue().hashCode())
これにより、Object.hashCode
の一般規約によって要求されるように、任意の2つのエントリe1
とe2
でe1.equals(e2)
であれば、e1.hashCode()==e2.hashCode()
となることが保証されます。 -
comparingByKey
static <K extends Comparable<? super K>,V> Comparator<Map.Entry<K,V>> comparingByKey()キーの自然順序でMap.Entry
を比較するコンパレータを返します。返されるコンパレータは直列化可能で、エントリとnullキーを比較したときに
NullPointerException
をスローします。- 型パラメータ:
K
- マップ・キーのComparable
型V
- マップ値の型- 戻り値:
- キーの自然順序で
Map.Entry
を比較するコンパレータ。 - 導入されたバージョン:
- 1.8
- 関連項目:
-
comparingByValue
static <K,V extends Comparable<? super V>> Comparator<Map.Entry<K,V>> comparingByValue()値の自然順序でMap.Entry
を比較するコンパレータを返します。返されるコンパレータは直列化可能で、エントリとnull値を比較したときに
NullPointerException
をスローします。- 型パラメータ:
K
- マップ・キーの型V
- マップ値のComparable
型- 戻り値:
- 値の自然順序で
Map.Entry
を比較するコンパレータ。 - 導入されたバージョン:
- 1.8
- 関連項目:
-
comparingByKey
static <K,V> Comparator<Map.Entry<K,V>> comparingByKey(Comparator<? super K> cmp) 指定されたComparator
を使用してキーでMap.Entry
を比較するコンパレータを返します。指定されたコンパレータが直列化可能の場合、返されるコンパレータも直列化可能になります。
- 型パラメータ:
K
- マップ・キーの型V
- マップ値の型- パラメータ:
cmp
- キーのComparator
- 戻り値:
- キーで
Map.Entry
を比較するコンパレータ。 - 導入されたバージョン:
- 1.8
-
comparingByValue
static <K,V> Comparator<Map.Entry<K,V>> comparingByValue(Comparator<? super V> cmp) 指定されたComparator
を使用して値でMap.Entry
を比較するコンパレータを返します。指定されたコンパレータが直列化可能の場合、返されるコンパレータも直列化可能になります。
- 型パラメータ:
K
- マップ・キーの型V
- マップ値の型- パラメータ:
cmp
- 値Comparator
- 戻り値:
- 値で
Map.Entry
を比較するコンパレータ。 - 導入されたバージョン:
- 1.8
-
copyOf
指定されたMap.Entry
のコピーを返します。 返されたインスタンスはどのマップにも関連付けられていません。 返されるインスタンスの特性は、Map::entry
メソッドによって返されるインスタンスと同じです。- APIのノート:
- マップ・エントリ・セット・ビューから取得されたインスタンスには、そのマップへの接続があります。
copyOf
メソッドを使用して、同じキーと値を含むMap.Entry
インスタンスを作成できます。これは、どのマップからも独立しています。 - 実装上のノート:
- 指定されたエントリが
copyOf
またはMap::entry
の呼び出しから取得された場合、copyOf
を呼び出しても通常は別のコピーは作成されません。 - 型パラメータ:
K
- キーのタイプV
- 値の型- パラメータ:
e
- コピーするエントリ- 戻り値:
- 指定されたエントリと同じマップ・エントリ
- throws:
NullPointerException
- eがNULLか、そのキーまたは値のいずれかがNULLである場合- 導入されたバージョン:
- 17
-