Интерфейс Map.Entry<K, V>
- Все известные реализующие классы:
-
AbstractMap.SimpleEntry,AbstractMap.SimpleImmutableEntry
- Включающий интерфейс:
-
Map<K,
V>
public static interface Map.Entry<K,V>
setValue метод. Элемент отображения может быть независимым от любой карты, или он может представлять элемент представления набора элементов карты. Экземпляры интерфейса Map.Entry могут быть получены путем итерирования представления набора элементов карты. Эти экземпляры поддерживают соединение с исходной, базовой картой. Это соединение с базовой картой действует только в течение итерации по представлению набора элементов. При итерации по представлению набора элементов, если это поддерживается базовой картой, изменение значения Map.Entry через метод setValue будет видно в базовой карте. Поведение такого экземпляра Map.Entry не определено вне итерации по представлению набора элементов карты. Также не определено, если базовая карта была изменена после того, как экземпляр Map.Entry был возвращён итератором, кроме как через метод Map.Entry.setValue. В частности, изменение значения отображения в базовой карте может или не может быть видно в соответствующем элементе Map.Entry представления набора элементов.
- Примечание API:
- Возможна создание экземпляра
Map.Entry, который отключен от базовой карты, используя методcopyOf. Например, следующее создает снимок элементов карты, который гарантированно не изменится, даже если исходная карта будет изменена:var entries = map.entrySet().stream().map(Map.Entry::copyOf).toList() - С:
- 1.2
- См. также:
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static <K extends Comparable<? super K>, |
comparingByKey() |
Возвращает компаратор, который сравнивает Map.Entry в естественном порядке по ключу. |
static <K, |
comparingByKey |
Возвращает компаратор, который сравнивает Map.Entry по ключу с использованием данного Comparator. |
static <K, |
comparingByValue() |
Возвращает компаратор, который сравнивает Map.Entry в естественном порядке по значению. |
static <K, |
comparingByValue |
Возвращает компаратор, который сравнивает Map.Entry по значению с использованием данного Comparator. |
static <K, |
copyOf |
Возвращает копию данного Map.Entry. |
boolean |
equals |
Сравнивает указанный объект с этим элементом отображения на равенство. |
K |
getKey() |
Возвращает ключ, соответствующий этому элементу отображения. |
V |
getValue() |
Возвращает значение, соответствующее этому элементу отображения. |
int |
hashCode() |
Возвращает значение хэш-кода для этого элемента отображения карты. |
V |
setValue |
Заменяет значение, соответствующее этому элементу отображения, заданным значением (необязательная операция). |
Подробное описание методов
getKey
K getKey()
- Возвращает:
- ключ, соответствующий этой записи
- Изначает:
-
IllegalStateException- реализации могут, но не обязаны, генерировать это исключение, если запись была удалена из базового отображения.
getValue
V getValue()
remove), результаты этого вызова не определены.- Возвращает:
- значение, соответствующее этой записи
- Изначает:
-
IllegalStateException- реализации могут, но не обязаны, генерировать это исключение, если запись была удалена из базового отображения.
setValue
V setValue(V value)
remove).- Параметры:
-
value- новое значение, которое должно быть сохранено в этой записи - Возвращает:
- старое значение, соответствующее записи
- Изначает:
-
UnsupportedOperationException- если операцияputне поддерживается базовым отображением -
ClassCastException- если класс указанного значения препятствует его хранению в базовом отображении -
NullPointerException- если базовое отображение не допускает нулевых значений, а указанное значение равно null -
IllegalArgumentException- если некоторые свойства этого значения препятствуют его хранению в базовом отображении -
IllegalStateException- реализации могут, но не обязаны, генерировать это исключение, если запись была удалена из базового отображения.
equals
boolean equals(Object o)
true если данный объект также является записью отображения и две записи представляют одно и то же отображение. Более формально, две записи e1 и e2 представляют одно и то же отображение, если
(e1.getKey()==null ?
e2.getKey()==null : e1.getKey().equals(e2.getKey())) &&
(e1.getValue()==null ?
e2.getValue()==null : e1.getValue().equals(e2.getValue()))
. Это гарантирует, что метод equals работает должным образом в разных реализациях интерфейса Map.Entry. - Переопределяет:
-
equalsв классеObject - Параметры:
-
o- объект, который должен быть сравнен на равенство с этой записью отображения - Возвращает:
-
trueесли указанный объект равен этой записи отображения - См. также:
hashCode
int hashCode()
e определяется следующим образом:
(e.getKey()==null ? 0 : e.getKey().hashCode()) ^
(e.getValue()==null ? 0 : e.getValue().hashCode())
. Это гарантирует, что e1.equals(e2) подразумевает, что e1.hashCode()==e2.hashCode() для любых двух записей e1 и e2, как требуется общим контрактом Object.hashCode. - Переопределяет:
-
hashCodeв классеObject - Возвращает:
- значение кода хэширования для этой записи отображения
- См. также:
comparingByKey
static <K extends Comparable<? super K>, V> Comparator<Map.Entry<K,V>> comparingByKey()
Map.Entry в естественном порядке по ключу. Возвращаемый компаратор сериализуем и генерирует NullPointerException при сравнении записи с нулевым ключом.
- Параметры типа:
-
K- типComparableключей отображения -
V- тип значений отображения - Возвращает:
- компаратор, который сравнивает
Map.Entryв естественном порядке по ключу. - С тех пор:
- 1.8
- См. также:
comparingByValue
static <K, V extends Comparable<? super V>> Comparator<Map.Entry<K,V>> comparingByValue()
Map.Entry в естественном порядке по значению. Возвращаемый компаратор сериализуем и генерирует NullPointerException при сравнении записи с нулевым значением.
- Параметры типа:
-
K- тип ключей отображения -
V- типComparableзначений отображения - Возвращает:
- компаратор, который сравнивает
Map.Entryв естественном порядке по значению. - С тех пор:
- 1.8
- См. также:
comparingByKey
static <K, V> Comparator<Map.Entry<K,V>> comparingByKey(Comparator<? super K> cmp)
Map.Entry по ключу, используя заданный Comparator. Возвращаемый компаратор сериализуем, если заданный компаратор также сериализуем.
- Параметры типа:
-
K- тип ключей отображения -
V- тип значений отображения - Параметры:
-
cmp- компаратор ключей - Возвращает:
- компаратор, который сравнивает
Map.Entryпо ключу. - С тех пор:
- 1.8
comparingByValue
static <K, V> Comparator<Map.Entry<K,V>> comparingByValue(Comparator<? super V> cmp)
Map.Entry по значению, используя заданный Comparator. Возвращаемый компаратор сериализуем, если заданный компаратор также сериализуем.
- Параметры типа:
-
K- тип ключей отображения -
V- тип значений отображения - Параметры:
-
cmp- компаратор значений - Возвращает:
- компаратор, который сравнивает
Map.Entryпо значению. - С тех пор:
- 1.8
copyOf
static <K, V> Map.Entry<K,V> copyOf(Map.Entry<? extends K,? extends V> e)
Map.Entry. Возвращаемый экземпляр не связан ни с каким отображением. Возвращаемый экземпляр имеет те же характеристики, что и экземпляры, возвращаемые методом Map::entry.- Примечание к API:
- Экземпляр, полученный из представления множества записей отображения, имеет связь с этим отображением. Метод
copyOfможет быть использован для создания экземпляраMap.Entry, содержащего тот же ключ и значение, что и независимо от любого отображения. - Примечание к реализации:
- Если заданная запись была получена из вызова
copyOfилиMap::entry, вызовcopyOfобычно не создаст другую копию. - Параметры типа:
-
K- тип ключа -
V- тип значения - Параметры:
-
e- копируемая запись - Возвращает:
- запись отображения, равную заданной записи
- Изначает:
-
NullPointerException- если e равно null или если любой из его ключа или значения равен null - С тех пор:
- 17
© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.Entry.html