- 型パラメータ:
K- キーのタイプV- 値の型
- 既知のすべての実装クラス:
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()このエントリに対応する値を返します。inthashCode()このマップ・エントリのハッシュ・コード値を返します。このエントリに対応する値を、指定された値に置き換えます(オプションの操作)。
-
メソッドの詳細
-
getKey
K getKey()このエントリに対応するキーを返します。- 戻り値:
- このエントリに対応するキー
- 例外:
IllegalStateException- 実装は、このエントリがその基になるマップから削除されている場合にこの例外をスローできる。ただし、必須ではない。
-
getValue
V getValue()このエントリに対応する値を返します。 マッピングが(イテレータのremoveオペレーションによって)基になっているマップから削除されている場合は、この呼出しの結果は保証されません。- 戻り値:
- このエントリに対応する値
- 例外:
IllegalStateException- 実装は、このエントリがその基になるマップから削除されている場合にこの例外をスローできる。ただし、必須ではない。
-
setValue
このエントリに対応する値を、指定された値に置き換えます(オプションの操作)。 マップに書き込みます。 マッピングが(イテレータのremoveオペレーションによって)すでにマップから削除されている場合は、この呼出しの動作は保証されません。- パラメータ:
value- このエントリに格納される新しい値- 戻り値:
- エントリに対応する以前の値
- 例外:
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- コピーするエントリ- 戻り値:
- 指定されたエントリと同じマップ・エントリ
- 例外:
NullPointerException- eがNULLか、そのキーまたは値のいずれかがNULLである場合- 導入されたバージョン:
- 17
-