- 型パラメータ:
K
- キーのタイプV
- 値の型
- 既知のすべての実装クラス:
AbstractMap.SimpleEntry
,AbstractMap.SimpleImmutableEntry
setValue
メソッドが実装されている場合は値を変更できます。 エントリは、マップから独立しているか、マップの入力セット・ビューのエントリを表す場合があります。
エントリは、Iterator
を使用して明示的に、または拡張されたfor
文を介して暗黙的に、マップのMap.entrySet()
ビューを反復することによってエントリが取得された場合、その基礎となるマップへの接続を維持します。 このバッキング・マップへの接続は、エントリ・セット・ビューの反復中に有効なonlyです。 反復中に、バッキング・マップでサポートされている場合、setValue
メソッドを介したエントリの値への変更は、バッキング・マップに表示されます。 このようなエントリの動作は、マップのエントリ・セット・ビューの反復外では未定義です。 また、setValue
メソッド以外で、エントリがイテレータによって返された後にバッキング・マップが変更された場合も、未定義です。 また、バッキング・マップのマッピングの値の変更は、エントリ・セット・ビューの対応するエントリに表示される場合と表示されない場合があります。
エントリは、parallelStream
、stream
、spliterator
メソッド、任意のtoArray
オーバーロード、またはエントリ・セット・ビューを別のコレクションにコピーすることによって、マップのエントリ・セット・ビューからも取得できます。 取得したエントリ・インスタンスが基礎となるマップに接続されているかどうか、そのようなエントリへの変更がマップの基になるものに影響するかどうか、またはその逆、およびそのようなエントリがオプションのsetValue
メソッドをサポートしているかどうかは不特定です。
また、エントリはマップから直接取得できます。たとえば、NavigableMap
インタフェースでメソッドへの直接呼出しを介して取得できます。 このように取得されたエントリは、通常はマップに接続されず、コール時点でのマッピングの変更不可のスナップショットです。 このようなエントリでは、通常、setValue
メソッドもサポートされません。
AbstractMap.SimpleEntry
またはAbstractMap.SimpleImmutableEntry
クラスの直接構築、またはMap.entry
またはMap.Entry.copyOf
メソッドへのコールによって取得されたエントリは、どのマップにも接続されません。
- APIのノート:
- 反復以外のマップのエントリ・セット・ビューから取得したエントリ・インスタンスの正確な動作は、様々なマップ実装によって異なります。一部はバッキング・マップに接続され、一部はそうではありません。 エントリがそのバッキング・マップから切断されるようにするには、
copyOf
メソッドを使用します。 たとえば、次のマップでは、元のマップが変更されても変更されないことが保証されたマップ・エントリのスナップショットが作成されます: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()このエントリに対応するキーを返します。- 戻り値:
- このエントリに対応するキー
- 例外:
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
-