Как да внедрим интерфейса на картата в Java?



Тази статия за Java Map Inteface ще ви помогне да разберете как работи Map в Java и ви запознава с различни класове, които прилагат Map Interface

Една от най-интересните теми в Java е интерфейсът Map, койтопредставлява картографиране между ключ и стойност.Често се разбира погрешно да бъде подтип на интерфейс в Java.Тази статия за Java Map Interface ще ви помогне да разберете и овладеете как работи картата .

По-долу са изброени темите, обхванати в тази статия:





Интерфейс на Java Map

Карта в Java е обект който съпоставя ключовете на стойности и е предназначен за по-бързо търсене. Данните се съхраняват в двойки ключ-стойност и всеки ключ е уникален. Всеки ключ се преобразува в стойност, откъдето идва и името на картата. Тези двойки ключ-стойност се наричат ​​записи на картата.

Карти в Java - Java Map Interface - Edureka



В , java.util.Map е което включва подписи на методи за вмъкване, премахване и извличане на елементи въз основа на ключ. С такива методи това е идеален инструмент за картографиране на асоцииране ключ-стойност, като речници.

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

  • Интерфейсът на картата не е истински подтип на интерфейса за събиране, следователно,неговите характеристики и поведение се различават от останалите типове колекции.
  • Осигуряватри изгледа на колекция - набор от ключове, набор от съпоставяния ключ-стойност и събиране на стойности.
  • ДА СЕКартане може да съдържа дублиращи се ключове и всеки ключ може да преобразува най-много една стойност. Някои реализации позволяват нулев ключ и нулева стойност ( HashMap и LinkedHashMap ) но някои не го правят ( TreeMap).
  • Интерфейсът на картата не гарантира реда на картографиране, но зависи от изпълнението. Например, HashMap не гарантира реда на картографиране, но TreeMap прави.
  • Класът AbstractMap осигурява скелетна реализация на интерфейса Java Map и по-голямата част от конкретния Map класове разширяване на класа AbstractMap и прилагане на необходимите методи.

Сега, когато имате представа за това в какво е интерфейсът на Map е, нека да продължим и да проверим йерархията на Java Map.

Йерархия на Java Map

Има два интерфейса, които прилагат Map в java: Map и SortedMap. И популярните класове за изпълнение на Map в Java са HashMap, TreeMap , и LinkedHashMap. Йерархията на Java Map е дадена по-долу:



Преди да разгледаме трите класа за изпълнение на Java Map Interface, споменати по-горе, ето някои често срещани методи, с които можете да се сблъскате при работа с Map.

Методи в Java Map Interface

Методи

Описание

публичен пут (ключ на обекта, стойност на обекта)Този метод вмъква запис в картата
публичноvoid putAll (Карта на картата)Този метод вмъква посочената карта в тази карта
public Object remove (Object key)Използва се за изтриване на запис за посочения ключ
публичен ключ SetSet ()Той връща изгледа Set, съдържащ всички клавиши
публичен Set entrySet ()Той връща изгледа Set, съдържащ всички ключове и стойности
празно ясно ()Използва се за нулиране на картата
public void putIfAbsent (ключ K, стойност V)Той вмъква посочената стойност с посочения ключ в картата само ако вече не е посочена
public Object get (Object key)Той връща стойността за посочения ключ
публичен булев съдържаKey (Object key)
Използва се за търсене на посочения ключ от тази карта

Приложения на Map

Има няколко които изпълняват Java Mapно са три основни и общоприложени изпълненияHashMap, TreeMap и LinkedHashMap.Нека да видим характеристиките и поведението на всяко изпълнение с пример

Клас на HashMap

Най-често срещаният клас, който реализира интерфейса Java Map, е HashMap. Това е реализация на интерфейс Map, базирана на хеш таблица.Той изпълнява всички операции с картатаи позволява нулеви стойности и един нулев ключ. Също така този клас не поддържа никакъв ред сред елементите си. Ето примерна програма, демонстрираща клас HashMap.

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

Изход

Общо курсове: 4 курса в облак: 7 курса по програмиране: 5 курса по наука за данни: 2 курса по Java: 6 намерени общо 6 курса по Java

В горната програма съм използвал много методи, споменати в таблицата. Първо, слагам() метод вмъква 4 записа в картата, а размер () метод в следващата стъпка показва размера на картата (общо двойки ключ-стойност). След това, в следващата стъпка, entrySet () метод връща всички двойки ключ-стойност. Програмата също така показва как да се използва получи () метод за търсене на стойност с помощта на свързания ключ.

Нека да преминем към следващия клас, който реализира Java Map Interface - TreeMap.

Клас TreeMap

Тази реализация използва червено-черното дърво като основно структура на данни . TreeMap се сортира според естествената подредба на ключовете му или от сравнител, предоставен по време на създаването. Това изпълнение не позволява нули, но поддържаред върху неговите елементи. Ето примерна програма, демонстрираща клас TreeMap.

пакет MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Map courses = new TreeMap () // Добавяне на няколко курса. courses.put ('Java Courses', new Integer (3)) courses.put ('AWS Courses', new Integer (7)) courses.put ('Programming Courses', new Integer (8)) courses.put (' Курсове по наука за данни “, ново цяло число (2)) System.out.println („ Общо курсове: + курсове.размер ()) Наборst = courses.entrySet () за (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Изход

Общо курсове: 4 AWS курса: 7 курса по наука за данни: 2 Java курса: 3 курса по програмиране: 8

разлика между пъргав и девепс

В изхода елементите на картата се отпечатват в строг лексикографски ред, който не се появява в предишните примери за HashMap. Следващият клас, който ще обсъдим са LinkedHashMap .

Клас LinkedHashMap

Както името показва, че това изпълнение на интерфейса Java Map използва хеш таблица и свързан списък като основни структури от данни. По този начин редът на LinkedHashMap епредсказуем, с ред за вмъкване като поръчка по подразбиране. Също така позволява нули като в HashMap. Ето примерна програма, демонстрираща клас TreeMap.

пакет MyPackage import java.util. * публичен клас LinkedHashMapExample {public static void main (String a []) {LinkedHashMap courses = new LinkedHashMap () courses.put ('Java Courses', new Integer (3)) courses.put (' Cloud Courses ', нов Integer (7)) courses.put (' Курсове по програмиране ', нов Integer (8)) courses.put (' Курсове по наука за данни ', нов Integer (2)) // Той отпечатва елементите в същия ред // както са били вмъкнати System.out.println (курсове) System.out.println ('Общо курсове:' + courses.size ()) System.out.println ('Съдържа ключ' Hadoop '?' + courses.containsKey ('Hadoop')) System.out.println ('Получаване на стойност за ключ' Курсове за програмиране ':' + courses.get ('Курсове за програмиране')) System.out.println ('Картата празна?' + Courses.isEmpty ()) System.out.println ('изтриване на елемент' Курсове в облак ':' + courses.remove ('Курсове в облак')) System.out.println (курсове)}}

Изход

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

Примерната програма е доста лесна за разбиране. Използвал съм някои основни методи за демонстриране на функционирането на LinkeHashMap в Java. Както казах по-рано, освен тези три има много други класове, които реализират интерфейса Java Map.

Това ни води до края на тази статия „Java Map Interface“. Покрих една от интересните теми на Java, която е интерфейсът на картата в Java.

Уверете се, че практикувате възможно най-много и връщате опита си.

Вижте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Ние сме тук, за да ви помогнем във всяка стъпка по вашето пътуване, за да станете освен тези въпроси за интервю за Java, измислим учебна програма, предназначена за студенти и професионалисти, които искат да бъдат разработчик на Java.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на този „интерфейс на java map“ статия и ние ще се свържем с вас възможно най-скоро.