Как реализовать интерфейс карты на Java?



Эта статья о Java Map Inteface поможет вам понять, как Map работает в Java, и познакомит вас с различными классами, реализующими интерфейс Map.

Одна из самых интересных тем в Java - интерфейс карты, которыйпредставляет собой сопоставление между ключом и значением.Его часто неправильно понимают как подтип интерфейс в Java.Эта статья об интерфейсе карты Java поможет вам понять и освоить, как работает карта в .

Ниже перечислены темы, затронутые в этой статье:





Интерфейс карты Java

Карта в Java - это объект который сопоставляет ключи со значениями и предназначен для более быстрого поиска. Данные хранятся в парах 'ключ-значение', и каждый ключ уникален. Каждому ключу соответствует значение, отсюда и карта имен. Эти пары ключ-значение называются записями карты.

Карты в Java - Интерфейс карты Java - Edureka



разница между перегрузкой и переопределением в c ++

в , java.util.Map является который включает в себя сигнатуры методов для вставки, удаления и извлечения элементов на основе ключа. С такими методами это идеальный инструмент для сопоставления ассоциаций 'ключ-значение', например словарей.

Характеристики интерфейса карты

  • Интерфейс карты не является истинным подтипом интерфейса коллекции, поэтомуего характеристики и поведение отличаются от остальных типов коллекций.
  • Это обеспечиваеттри представления коллекции - набор ключей, набор сопоставлений «ключ-значение» и набор значений.
  • Ккартане может содержать повторяющиеся ключи, и каждый ключ может соответствовать не более чем одному значению. Некоторые реализации допускают нулевой ключ и нулевое значение ( HashMap и LinkedHashMap ) но некоторые не ( TreeMap).
  • Интерфейс карты не гарантирует порядок сопоставлений, однако он зависит от реализации. Например, HashMap не гарантирует порядок сопоставлений, но TreeMap делает.
  • Класс AbstractMap предоставляет скелетную реализацию интерфейса Java Map и большую часть конкретной карты. классы расширить класс AbstractMap и реализовать необходимые методы.

Теперь, когда вы знаете, какой интерфейс карты в есть, давайте продолжим и проверим иерархию Java Map.

Иерархия карт Java

Есть два интерфейса, которые реализуют карту в java: карта и SortedMap. А популярные классы реализации Map на Java: HashMap, TreeMap , и LinkedHashMap. Иерархия Java Map приведена ниже:



Прежде чем мы рассмотрим три класса реализации интерфейса карты Java, упомянутые выше, вот несколько общих методов, с которыми вы можете столкнуться при работе с картой.

Методы в интерфейсе Java Map

Методы

Описание

public put (ключ объекта, значение объекта)Этот метод вставляет запись на карту
общественныйvoid putAll (карта карта)Этот метод вставляет указанную карту в эту карту
публичное удаление объекта (ключ объекта)Используется для удаления записи для указанного ключа
общедоступный набор ключей ()Он возвращает представление Set, содержащее все ключи
public Set entrySet ()Он возвращает представление Set, содержащее все ключи и значения.
пусто ясно ()Используется для сброса карты
public void putIfAbsent (ключ K, значение V)Он вставляет указанное значение с указанным ключом на карту только в том случае, если оно еще не указано
public Object get (ключ объекта)Возвращает значение для указанного ключа
public boolean containsKey (ключ объекта)
Используется для поиска указанного ключа на этой карте

Реализации Map

Есть несколько реализующие карту Javaно три основных и универсальных реализацииHashMap, TreeMap и LinkedHashMap.Давайте посмотрим на характеристики и поведение каждой реализации на примере.

Класс HashMap

Самый распространенный класс, реализующий интерфейс Java Map, - это HashMap. Это реализация интерфейса Map на основе хэш-таблицы.Он реализует все операции с картойи допускает нулевые значения и один нулевой ключ. Кроме того, этот класс не поддерживает порядок между своими элементами. Вот пример программы, демонстрирующей класс HashMap.

package MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Map course = new HashMap () // Добавьте несколько курсов. course.put ('Курсы Java', новое Integer (6)) course.put ('Облачные курсы', новое Integer (7)) course.put ('Курсы программирования', новое Integer (5)) course.put (' Курсы по науке о данных ', новое целое число (2)) System.out.println (' Всего курсов: '+ course.size ()) Установитьst = course.entrySet () для (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Курсы Java' if (course.containsKey (searchKey)) System.out.println ('Всего найдено' + course.get (searchKey) + '' + searchKey)}}

Вывод

Всего курсов: 4 облачных курса: 7 курсов программирования: 5 курсов по науке о данных: 2 курса Java: 6 Всего найдено 6 курсов Java

В приведенной выше программе я использовал множество методов, упомянутых в таблице. Во-первых, положил() метод вставляет 4 записи в карту, а метод размер() На следующем шаге метод отображает размер карты (общее количество пар ключ-значение). После этого на следующем шаге entrySet () метод возвращает все пары ключ-значение. Программа также показывает, как использовать получить() для поиска значения с помощью связанного ключа.

Перейдем к следующему классу, который реализует интерфейс Java Map - TreeMap.

Класс TreeMap

Эта реализация использует красно-черное дерево в качестве основного структура данных . TreeMap сортируется в соответствии с естественным порядком его ключей или компаратором, предоставленным во время создания. Эта реализация не допускает значений NULL, но поддерживаетпорядок на его элементах. Вот пример программы, демонстрирующей класс TreeMap.

package MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Map course = new TreeMap () // Добавьте несколько курсов. course.put ('Курсы Java', новое Integer (3)) course.put ('Курсы AWS', новое Integer (7)) course.put ('Курсы программирования', новое Integer (8)) course.put (' Курсы по науке о данных ', новое целое число (2)) System.out.println (' Всего курсов: '+ course.size ()) Установитьst = course.entrySet () для (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Вывод

Всего курсов: 4 Курсов AWS: 7 Курсов Data Science: 2 Курсов Java: 3 Курсов программирования: 8

На выходе элементы карты печатаются в строгом лексикографическом порядке, которого нет в предыдущих примерах HashMap. Следующий класс, который мы собираемся обсудить, это LinkedHashMap .

LinkedHashMap Класс

Как видно из названия, эта реализация интерфейса Java Map использует хеш-таблицу и связанный список в качестве базовых структур данных. Таким образом, порядок LinkedHashMap следующий:предсказуемо, с порядком размещения по умолчанию. Кроме того, разрешает нули, как в HashMap. Вот пример программы, демонстрирующей класс TreeMap.

package MyPackage import java.util. * public class LinkedHashMapExample {public static void main (String a []) {LinkedHashMap classes = new LinkedHashMap () classes.put ('Java Courses', new Integer (3)) plays.put (' Cloud Courses ', new Integer (7)) course.put (' Programming Courses ', new Integer (8)) sizes.put (' Data Science Courses ', new Integer (2)) // Он печатает элементы в том же порядке // как они были вставлены System.out.println (курсы) System.out.println ('Всего курсов:' + курсы.size ()) System.out.println ('Содержит ключ' Hadoop '?' + курсы.containsKey ('Hadoop')) System.out.println ('Получение значения ключа' Курсы программирования ':' + course.get ('Курсы программирования')) System.out.println ('Карта пуста?' + Course.isEmpty ()) System.out.println ('удалить элемент' Cloud Courses ':' + course.remove ('Cloud Courses')) System.out.println (курсы)}}

Вывод

{Курсы Java = 3, Облачные курсы = 7, Курсы программирования = 8, Курсы Data Science = 2} Всего курсов: 4 Содержит ключ «Hadoop»? false Получение значения ключа «Курсы программирования»: 8 Карта пуста? false delete element 'Cloud Courses': 7 {Курсы Java = 3, Курсы программирования = 8, Курсы Data Science = 2}

Программа-пример довольно проста для понимания. Я использовал несколько основных методов, чтобы продемонстрировать работу LinkeHashMap в Java. Как я уже говорил ранее, помимо этих трех существует множество других классов, реализующих интерфейс Java Map.

На этом мы подошли к концу статьи «Интерфейс карты Java». Я затронул одну из интересных тем Java - интерфейс карты в Java.

Убедитесь, что вы как можно больше тренируетесь и верните свой опыт.

Проверьте от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Мы здесь, чтобы помочь вам на каждом этапе вашего пути. Чтобы стать помимо вопросов на собеседовании по Java, мы разработали учебную программу, предназначенную для студентов и профессионалов, которые хотят стать Java-разработчиками.

Есть вопрос к нам? Пожалуйста, укажите это в разделе комментариев этого «интерфейса Java-карты». статья, и мы свяжемся с вами в ближайшее время.