Рубрики
Без рубрики

Java SE 9: Заводские методы для неизменяемой карты и Map.Entry

Опубликовать краткое содержание: Введение Java SE 8: Неизменяемая Пустая карта Java SE 9: Неизменяемая Пустая Карта С Картой.из() Java SE 8: Неизменяемая Непустая Карта

Автор оригинала: Pankaj Kumar.

Опубликуйте Краткое содержание:

  • Вступление
  • Java SE 8: Неизменяемая Пустая Карта
  • Java SE 9: Неизменяемая Пустая Карта С Map.of()
  • Java SE 8: Неизменяемая Непустая Карта
  • Java SE 9: Неизменяемая Непустая Карта С Map.of()
  • Java SE 9: Неизменяемая карта.записей() Польза
  • Java SE 9: Неизменяемая утилита Map.entry()

Вступление

Корпорация Oracle собирается выпустить новую версию Java: Java SE 9 примерно в марте 2017 года. Итак, я хотел бы опубликовать серию сообщений о новых функциях Java SE 9. Это мой седьмой пост в этой серии.

Я уже опубликовал пару сообщений о новых функциях Java SE 9. Прежде чем перейти к этому сообщению, пожалуйста, прочтите их. Это продолжение моих предыдущих двух постов:

  • Java SE 9: Заводские методы для неизменяемого списка .
  • Java SE 9: Заводские методы для неизменяемого набора .

В этом посте мы обсудим еще одну новую функцию Java SE 9: “Заводские методы для неизменяемой карты и Map.Entry” с некоторыми простыми и подходящими примерами.

ПРИМЕЧАНИЕ:- Все заводские методы Java SE 9 для неизменяемого списка, набора и карты являются статическими служебными методами.

Java SE 8: Неизменяемая Пустая Карта

Теперь мы увидим, как создать Пустую Неизменяемую карту в Java SE 8 и более ранних версиях. Если мы хотим создать пустую Неизменяемую или неизменяемую карту, мы должны использовать метод утилиты класса коллекций: Неизменяемая карта , как показано ниже:

Пример Пустой Карты:-

 Map emptyMap = new HashMap<>();
 Map immutableEmptyMap = Collections.unmodifiableMap(emptyMap);

Проверьте этот код с помощью ответа Java SE 9:

jshell> Map emptyMap = new HashMap<>()
emptyMap ==> {}

jshell> Map immutableEmptyMap = Collections.unmodifiableMap(emptyMap)
immutableEmptyMap ==> {}

Здесь мы можем заметить, что для создания пустой Неизменяемой карты нам нужно сделать много вещей и очень утомительных и подробных шагов. Давайте теперь посмотрим то же самое в Java SE 9.

Java SE 9: Неизменяемая Пустая Карта С Map.of()

Чтобы преодолеть эти недостатки, Java SE 9 представила два набора полезных перегруженных методов.

  • Карта.из()
  • Карта.записей()

В этом разделе мы обсудим первый набор методов, который является служебными методами Map.of (), и рассмотрим следующий набор методов в следующем разделе.

Если мы пройдем через Java SE 9 Map API, мы сможем найти следующие служебные методы в интерфейсе карты. Пустая утилита API карт

 static  Map of()

Этот служебный метод используется для создания пустой неизменяемой карты, которая является картой с нулевым элементом в Java SE 9.

Пример Пустой Карты:-

jshell> Map emptyImmutableMap = Map.of()
emptyImmutableMap ==> {}

Здесь мы можем заметить, что создание пустой неизменяемой карты в Java SE 9-очень простой и простой процесс.

Java SE 8: Неизменяемая Непустая Карта

В этом разделе мы рассмотрим, как создать непустую неизменяемую карту в Java SE 8 и более ранних версиях.

Мы можем использовать тот же метод утилиты Collections.unmodifiableMap для создания непустой неизменяемой карты, как показано ниже.

Пример непустой Карты:-

 Map nonemptyMap = new HashMap<>();
 nonemptyMap.put(1,"one")
 nonemptyMap.put(2,"two")
 nonemptyMap.put(3,"three")
 Map immutableNonEmptyMap = Collections.unmodifiableMap(nonemptyMap);

Здесь также мы можем заметить, что для создания непустой Неизменяемой карты нам нужно сделать много вещей и очень утомительных и подробных шагов. Давайте теперь посмотрим то же самое в Java SE 9.

Проверьте это с помощью ответа Java SE 9:-


jshell> Map nonemptyMap = new HashMap<>()
nonemptyMap ==> {}

jshell> nonemptyMap.put(1,"one")
$2 ==> null

jshell> nonemptyMap.put(2,"two")
$3 ==> null

jshell> nonemptyMap.put(3,"three")
$4 ==> null

onemptyMap) immutableNonEmptyMap = Collections.unmodifiableMap(n
immutableNonEmptyMap ==> {1=one, 2=two, 3=three}

jshell> nonemptyMap
nonemptyMap ==> {1=one, 2=two, 3=three}

Java SE 9: Неизменяемая Непустая Карта С Map.of()

В этом разделе мы обсудим, как использовать перегруженные методы Java SE 9 () для создания неизменяемой непустой карты. Если мы пройдем документацию по API Java SE 9, мы увидим следующие служебные методы в интерфейсе карты.

Непустая утилита API карт

 static  Map of(K k1, V v1)
 static  Map of(K k1, V v1, K k2, V v2)
 static  Map of(K k1, V v1, K k2, V v2, K k3, V v3)
 static  Map of(K k1, V v1, K k2, V v2, K k3, V v3)
 static  Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4)
 static  Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5)
 static  Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6)
 static  Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7)
 static  Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8)
 static  Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9)
 static  Map of(K k1, V v1, K k2, V v2, K k3, V v3, K k4, V v4, K k5, V v5, K k6, V v6, K k7, V v7, K k8, V v8, K k9, V v9, K k10, V v10)

Эти полезные методы используются для создания новой Непустой Неизменяемой карты с одним элементом до 10 элементов.

Непустая утилита API карт

 static  Map of(K k1, V v1)

Пример Непустой Карты:-

jshell> Map nonemptyImmutableMap = Map.of(1, "one", 2, "two", 3, "three")
nonemptyImmutableMap ==> {2=two, 3=three, 1=one}

Здесь мы можем заметить, что в Java SE 9 очень легко создавать пустые и Непустые Неизменяемые карты.

Java SE 9: Неизменяемая карта.записей() Польза

Как мы знаем, Java SE 9 представила два набора методов картографической утилиты для создания неизменяемой карты: записей и записей. Мы уже обсуждали методы Map.of() в предыдущих разделах. В этом разделе мы обсудим “Как использовать методы Map.ofEntries ()” для создания пустых или непустых карт.

Методы Map.ofEntries() используются для создания неизменяемых или неизменяемых карт с использованием записей.

Если мы пройдем через Java SE 9 Map API, мы сможем найти следующие служебные методы в интерфейсе карты. Пустая утилита API карт

static  Map ofEntries(Map.Entry... entries)

Этот метод varargs полезен для создания неизменяемой карты с нулем или одним или несколькими элементами с использованием записей. Мы должны использовать служебный метод Map.entry() для создания записей. Пожалуйста, обратитесь к следующему разделу, чтобы понять этот метод Map.entry ().

Пример Пустой Карты:-

jshell> Map emptyImmutableMap = Map.ofEntries()
emptyImmutableMap ==> {}

Этот полезный метод используется для создания новой неизменяемой карты с нулевым элементом с использованием записей.

Пример Непустой Карты:-

import static java.util.Map.entry
jshell> Map emptyImmutableMap = Map.ofEntries(entry(1,"one"),
   ...> entry(2,"two"), entry(3,"three"))
emptyImmutableMap ==> {1=one, 2=two, 3=three}

Этот полезный метод используется для создания новой неизменяемой карты с одним или несколькими элементами с использованием записей.

Java SE 9: Неизменяемая утилита Map.entry()

Как мы обсуждали в предыдущем разделе, мы можем использовать этот служебный метод Map.entry() для создания неизменяемой Map.Entry с использованием заданных пар ключей и значений. Он используется как часть метода Map.of Entries() для создания неизменяемой карты, как показано в приведенном выше примере.

API метода Map.entry():-

static  Map.Entry entry(K k, V v)

Пример метода Map.entry():-

jshell> Map.Entry immutableMapEntry1 = Map.entry(1,"one")
immutableMapEntry1 ==> 1=one

jshell> Map.Entry immutableMapEntry2 = Map.entry(2,"two")
immutableMapEntry2 ==> 2=two

jshell> Map.Entry immutableMapEntry3 = Map.entry(3,"three")
immutableMapEntry3 ==> 3=three

Здесь мы создали три неизменяемых объекта Map.Entry. Используя эти объекты ввода, мы можем создать Неизменяемую карту, как показано ниже:

jshell> Map immutableMap = Map.ofEntries(immutableMapEntry1,
   ...> immutableMapEntry2, immutableMapEntry3)
immutableMap ==> {3=three, 2=two, 1=one}

ПРИМЕЧАНИЕ:- Характеристики Неизменяемой карты аналогичны Неизменяемому списку. Вы можете найти эту информацию подробно здесь: Java SE 9: Заводские методы для неизменяемого списка .

Вот и все о концепции “Java SE 9: Заводские методы для неизменяемой карты и Map.Entry”. Мы обсудим еще несколько новых функций Java SE 9 в моих следующих постах.

Пожалуйста, напишите мне комментарий, если вам нравится мой пост или у вас есть какие-либо вопросы/предложения/ошибки типа.

Спасибо, что прочитали мои учебные пособия.

Счастливого Обучения Java SE 9!