Автор оригинала: 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 и более ранних версиях. Если мы хотим создать пустую Неизменяемую или неизменяемую карту, мы должны использовать метод утилиты класса коллекций: Неизменяемая карта , как показано ниже:
Пример Пустой Карты:-
MapemptyMap = new HashMap<>(); Map immutableEmptyMap = Collections.unmodifiableMap(emptyMap);
Проверьте этот код с помощью ответа Java SE 9:
jshell> MapemptyMap = 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 карт
staticMap of()
Этот служебный метод используется для создания пустой неизменяемой карты, которая является картой с нулевым элементом в Java SE 9.
Пример Пустой Карты:-
jshell> MapemptyImmutableMap = Map.of() emptyImmutableMap ==> {}
Здесь мы можем заметить, что создание пустой неизменяемой карты в Java SE 9-очень простой и простой процесс.
Java SE 8: Неизменяемая Непустая Карта
В этом разделе мы рассмотрим, как создать непустую неизменяемую карту в Java SE 8 и более ранних версиях.
Мы можем использовать тот же метод утилиты Collections.unmodifiableMap для создания непустой неизменяемой карты, как показано ниже.
Пример непустой Карты:-
MapnonemptyMap = 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> MapnonemptyMap = 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 карт
staticMap 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 карт
staticMap of(K k1, V v1)
Пример Непустой Карты:-
jshell> MapnonemptyImmutableMap = 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 карт
staticMap ofEntries(Map.Entry extends K,? extends V>... entries)
Этот метод varargs полезен для создания неизменяемой карты с нулем или одним или несколькими элементами с использованием записей. Мы должны использовать служебный метод Map.entry() для создания записей. Пожалуйста, обратитесь к следующему разделу, чтобы понять этот метод Map.entry ().
Пример Пустой Карты:-
jshell> MapemptyImmutableMap = Map.ofEntries() emptyImmutableMap ==> {}
Этот полезный метод используется для создания новой неизменяемой карты с нулевым элементом с использованием записей.
Пример Непустой Карты:-
import static java.util.Map.entry jshell> MapemptyImmutableMap = 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():-
staticMap.Entry entry(K k, V v)
Пример метода Map.entry():-
jshell> Map.EntryimmutableMapEntry1 = 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> MapimmutableMap = 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!