Spec-Zone.ru › OpenJDK 17

Интерфейс 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
См. также:
  • Map.entrySet()

Краткое описание методов

Модификатор и тип Метод Описание
static <K extends Comparable<? super K>, V>
Comparator<Map.Entry<K,V>>
comparingByKey()
Возвращает компаратор, который сравнивает Map.Entry в естественном порядке по ключу.
static <K, V> Comparator<Map.Entry<K,V>> comparingByKey(Comparator<? super K> cmp)
Возвращает компаратор, который сравнивает Map.Entry по ключу с использованием данного Comparator.
static <K, V extends Comparable<? super V>>
Comparator<Map.Entry<K,V>>
comparingByValue()
Возвращает компаратор, который сравнивает Map.Entry в естественном порядке по значению.
static <K, V> Comparator<Map.Entry<K,V>> comparingByValue(Comparator<? super V> cmp)
Возвращает компаратор, который сравнивает Map.Entry по значению с использованием данного Comparator.
static <K, V> Map.Entry<K,V> copyOf(Map.Entry<? extends K,? extends V> e)
Возвращает копию данного Map.Entry.
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 - если класс указанного значения препятствует его хранению в базовом отображении
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 если указанный объект равен этой записи отображения
См. также:
  • Object.hashCode()
  • HashMap

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
Возвращает:
значение кода хэширования для этой записи отображения
См. также:
  • Object.hashCode()
  • Object.equals(Object)
  • equals(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
См. также:
  • Comparable

comparingByValue

static <K, V extends Comparable<? super V>> Comparator<Map.Entry<K,V>> comparingByValue()
Возвращает компаратор, который сравнивает Map.Entry в естественном порядке по значению.

Возвращаемый компаратор сериализуем и генерирует NullPointerException при сравнении записи с нулевым значением.

Параметры типа:
K - тип ключей отображения
V - тип Comparable значений отображения
Возвращает:
компаратор, который сравнивает Map.Entry в естественном порядке по значению.
С тех пор:
1.8
См. также:
  • Comparable

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API