atesting.ru Блог Карта на Яве | Учебник по Java

Карта на Яве | Учебник по Java

Java Map является частью фреймворка коллекций. Интерфейс карты основан на паре «ключ-значение». Он сопоставляет уникальные ключи со значениями. Интерфейс карты не является подтипом интерфейса коллекции. Интерфейс карты действует аналогично коллекциям, но немного отличается от остальных типов коллекций. Он не может содержать повторяющиеся ключи, однако повторяющиеся значения допускаются.

 Карта в Java | Учебное пособие по Java

Существует два интерфейса для реализации карты в Java.
1. Карта
2. SortedMap

В Java есть три класса Map:
1. HashMap
2. Hashtable
3. TreeMap
4. ConcurrentHashMap
5. LinkedHashMap.

Карта не может содержать повторяющиеся ключи, и каждый ключ может соответствовать не более чем одному значению. HashMap и LinkedHashMap допускают нулевой ключ и нулевое значение, но TreeMap не допускает нулевой ключ и нулевое значение. HashMap не имеет предсказуемого порядка, но LinkedHashMap TreeMap имеет предсказуемый порядок.

HashMap: HashMap реализует все операции с картой и допускает нулевые значения и один нулевой ключ. HashMap не поддерживает порядок элементов «ключ-значение». Поэтому подумайте об использовании HashMap, когда порядок не имеет значения и допустимы значения NULL.

Подробное описание публикации на HashMap

LinkedHashMap: LinkedHashMap — это реализация Map, она наследует класс HashMap. Он допускает нулевые значения и нулевой ключ. Он поддерживает порядок вставки. Поэтому рассмотрите возможность использования LinkedHashMap, если вы хотите, чтобы карта с ее парами ключ-значение была отсортирована по порядку их вставки.

Проверьте подробный пост на LinkedHashMap

TreeMap: TreeMap — это реализация Map и SortedMap. Он поддерживает порядок возрастания. Нулевые значения не допускаются. Поэтому рассмотрите возможность использования TreeMap, когда вы хотите, чтобы карта сорвала свои пары ключ-значение в соответствии с естественным порядком ключей.

Ознакомьтесь с подробным сообщением на TreeMap

Что следует помнить:

  • Карта не допускает повторяющихся ключей, но допускает повторяющиеся значения.
  • HashMap и LinkedHashMap допускают нулевые ключи и нулевые значения, но TreeMap не допускает никаких нулевых ключей или значений.
  • Карта не может быть перемещена, поэтому вам необходимо преобразовать ее в Set с помощью keySet () или entrySet ().

Интерфейс Map включает методы для основных операций (таких как put, get, remove, containsKey, containsValue, size, и пустой ), массовые операции (такие как putAll и clear ) и представления коллекций (например, keySet, entrySet, и значения ).

Методы в интерфейсе карты:

  • размещение открытого объекта (ключ объекта, значение объекта) : Этот метод используется для вставки записи в карту.
  • public void putAll (Map m): этот метод используется для вставки указанной карты в эту карту.
  • public Object remove (Объект k): этот метод используется для удаления записи, ключ которой равен k.
  • public Object get (Object k): этот метод используется для возврата значения, связанного с ключом k.
  • public boolean containsKey (Object k): этот метод возвращает истину, если вызывающая карта содержит k в качестве ключа. В противном случае возвращает false.
  • public Set keySet (): этот метод используется для возврата Set, который содержит ключи в вызывающей карте. Этот метод
  • обеспечивает представление набора ключей в вызывающей карте.
  • public Set entrySet (): этот метод используется для возврата Set, который содержит записи в карте . Набор содержит объекты типа Map.Entry. Этот метод обеспечивает установочное представление вызывающей карты.

Представления коллекции

Методы представления коллекции позволяют просматривать карту как коллекцию следующими способами.

  1. keySet — Набор ключей, содержащихся в Map.
  2. values ​​- Набор значений, содержащихся в Map. Эта Коллекция не является Набором, потому что несколько ключей могут отображаться на одно и то же значение
  3. entrySet — Набор пар ключ-значение, содержащихся в Карте. Интерфейс Map предоставляет небольшой вложенный интерфейс под названием Map. Вступление, тип элементов в этом наборе.

Изучите коллекцию на Java

Интерфейс Map.Entry:

Entry — это вспомогательный интерфейс карты. Мы могли получить к нему доступ через Map.Entry. Он предоставляет методы для получения ключа и значения.

Методы интерфейса Map.Entry:

  • Object getKey () — Он используется для получения ключа.
  • Object getValue () — используется для получения значения.

Пример программы с использованием Map.Entry:

12345678910111213141516171819202122232425 package myPackage; импорт java.util.HashMap; импорт java.util.Hashtable; импорт java.util.Iterator; импорт java.util.Map; импорт java.util.Map.Entry; импорт java.util.Set; открытый класс MapsClassA {public static void main (String [] args) {Map & lt; String, String & gt; значение = новый HashMap & lt; & gt; (); value.put (& # 34; Имя & # 34 ;, & # 34; Радж & # 34;); value.put (& # 34; Страна & # 34 ;, & # 34; Индия & # 34;); значение.put (ноль, ноль); value.put (& # 34; Нулевое значение & # 34 ;, null); для (Map.Entry & lt; String, String & gt; en: value.entrySet ()) {System.out.println (en.getKey () + & # 34; = & # 34; + en.getValue ()); }}}

Пример программы:

123456789101112131415161718192021222324252627282930313233343536373839404142434/td. >

package myPackage; импорт java.util.HashMap; импорт java.util.Hashtable; импорт java.util.Iterator; импорт java.util.Map; импорт java.util.Map.Entry; импорт java.util.Set; открытый класс MapsClassA {public static void main (String [] args) {Map & lt; String, String & gt; значение = новый HashMap & lt; & gt; (); value.put (& # 34; Имя & # 34 ;, & # 34; Радж & # 34;); value.put (& # 34; Страна & # 34 ;, & # 34; Индия & # 34;); значение.put (ноль, ноль); value.put (& # 34; Нулевое значение & # 34 ;, null); System.out.println (значение); //Чтобы получить значение, мы используем метод get и передаем ключ как параметр System.out.println (& # 34; Значение имени: & # 34; + value.get (& # 34; Name & # 34;) ); //Если мы передадим ключ, который недоступен — вы не столкнетесь с какими-либо исключениями, вывод будет нулевым System.out.println (& # 34; Значение Name1: & # 34; + value.get (& # 34; Имя1 & # 34;)); //Чтобы получить размер карты System.out.println (& # 34; Размер: & # 34; + value.size ());/* Так как Map не является настоящей коллекцией, прямого метода итерации по карте не существует. Вместо этого мы можем перебирать карту, используя ее представления коллекций. Реализация любой карты должна предоставлять три метода представления коллекции, т. Е. KeySet (), values ​​() и entrySet () *///Преобразование в Set, чтобы мы могли пересекать Set & lt; String & gt; keys = value.keySet (); for (Строковый ключ: ключи) {System.out.println (key + & # 34; = & # 34; + value.get (key)); } //Чтобы получить значение System.out.println (& # 34; Значение страны: & # 34; + value.get (& # 34; Country & # 34;)); //Чтобы удалить значение value.remove (& # 34; Country & # 34;); //Давайте посмотрим, каким будет значение после того, как мы применили remove в приведенном выше операторе System.out.println (& # 34; Значение страны после удаления: & # 34; + value.get (& # 34; Country & # 34;)); }}

Учебник по Java

TAG: qa