Jak zaimplementować interfejs mapy w Javie?



Ten artykuł o Java Map Inteface pomoże ci zrozumieć, jak Map działa w Javie i wprowadzi cię do różnych klas, które implementują Map Interface

Jednym z najciekawszych tematów w Javie jest interfejs Map, któryreprezentuje mapowanie między kluczem a wartością.Często jest błędnie rozumiany jako podtyp interfejs w Javie.Ten artykuł na temat Java Map Interface pomoże Ci zrozumieć i opanować działanie mapy w programie .

Poniżej wymienione są tematy poruszone w tym artykule:





Interfejs mapy Java

Mapa w Javie to plik obiekt odwzorowuje klucze na wartości i jest przeznaczony do szybszego wyszukiwania. Dane są przechowywane w parach klucz-wartość, a każdy klucz jest unikalny. Każdy klucz jest mapowany na wartość, stąd mapa nazw. Te pary klucz-wartość nazywane są pozycjami mapy.

Mapy w Javie - Java Map Interface - Edureka



w , java.util.Map jest obejmuje sygnatury metod do wstawiania, usuwania i pobierania elementów na podstawie klucza. Dzięki takim metodom jest to doskonałe narzędzie do mapowania skojarzeń klucz-wartość, na przykład słowniki.

Charakterystyka interfejsu mapy

  • Interfejs Map nie jest prawdziwym podtypem interfejsu Collection, dlategojego cechy i zachowanie różnią się od pozostałych typów kolekcji.
  • To zapewniatrzy widoki kolekcji - zestaw kluczy, zestaw odwzorowań klucz-wartość i zbiór wartości.
  • DOMapanie może zawierać zduplikowanych kluczy, a każdy klucz może odpowiadać co najwyżej jednej wartości. Niektóre implementacje zezwalają na klucz null i wartość null ( HashMap i LinkedHashMap ) ale niektórzy nie ( TreeMap).
  • Interfejs Map nie gwarantuje kolejności mapowań, jednak zależy to od implementacji. Na przykład, HashMap nie gwarantuje kolejności odwzorowań, ale TreeMap robi.
  • Klasa AbstractMap zapewnia szkieletową implementację interfejsu Java Map i większość elementów Map Concrete zajęcia rozszerzyć klasę AbstractMap i zaimplementować wymagane metody.

Teraz, gdy masz pojęcie, w jakim interfejsie Map jest, przejdźmy dalej i sprawdźmy hierarchię Java Map.

Hierarchia map Java

Istnieją dwa interfejsy, które implementują Map w java: Map i SortedMap. Popularne klasy implementacji Map w Javie to HashMap, TreeMap , i LinkedHashMap. Hierarchia mapy Java jest podana poniżej:



Zanim zapoznamy się z trzema klasami implementacji interfejsu Java Map Interface, o których mowa powyżej, oto kilka typowych metod, z którymi można się spotkać podczas pracy z Map.

Metody w Java Map Interface

Metody

jak tworzyć dynamiczne strony internetowe

Opis

public put (klucz obiektu, wartość obiektu)Ta metoda wstawia wpis do mapy
publicznyvoid putAll (Mapa mapy)Ta metoda wstawia określoną mapę w tej mapie
public Object remove (klucz obiektu)Służy do usuwania wpisu dla określonego klucza
public Set keySet ()Zwraca widok Set zawierający wszystkie klucze
public Set entrySet ()Zwraca widok Zestaw zawierający wszystkie klucze i wartości
void clear ()Służy do resetowania mapy
public void putIfAbsent (klucz K, wartość V)Wstawia określoną wartość z określonym kluczem w mapie tylko wtedy, gdy nie jest jeszcze określona
public Object get (klucz obiektu)Zwraca wartość dla określonego klucza
public boolean containsKey (klucz obiektu)
Służy do wyszukiwania określonego klucza z tej mapy

Implementacje Map

Istnieje kilka które implementują mapę Javaale trzy główne i ogólne implementacje sąHashMap, TreeMap i LinkedHashMap.Zobaczmy na przykładzie charakterystykę i zachowanie każdej implementacji

Klasa HashMap

Najpopularniejszą klasą implementującą interfejs Java Map jest HashMap. Jest to implementacja interfejsu Map oparta na tablicy skrótów.Implementuje wszystkie operacje na mapiei zezwala na wartości null i jeden klucz pusty. Ponadto klasa ta nie utrzymuje żadnego porządku wśród swoich elementów. Oto przykładowy program prezentujący klasę HashMap.

pakiet MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Mapa kursów = new HashMap () // Dodaj kilka kursów. kursy.put ('Kursy Java', nowe Integer (6)) kursy.put ('Kursy w chmurze', nowe Integer (7)) kursy.put ('Kursy programowania', nowe Integer (5)) kursy.put (' Kursy nauki o danych ', nowa liczba całkowita (2)) System.out.println (' Wszystkie kursy: '+ kursy.size ()) Zestawst = course.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Java Courses' if (course.containsKey (searchKey)) System.out.println ('Found total' +ourses.get (searchKey) + '' + searchKey)}}

Wynik

Łączna liczba kursów: 4 kursy w chmurze: 7 kursów programowania: 5 kursów Data Science: 2 kursy Java: 6 Znaleziono łącznie 6 kursów Java

W powyższym programie wykorzystałem wiele metod wymienionych w tabeli. Po pierwsze, plik położyć() metoda wstawia 4 wpisy do mapy, a rozmiar() w następnym kroku wyświetla rozmiar mapy (łączna liczba par klucz-wartość). Następnie w następnym kroku entrySet () metoda zwraca wszystkie pary klucz-wartość. Program pokazuje również, jak korzystać z otrzymać() metoda wyszukiwania wartości przy użyciu skojarzonego klucza.

Przejdźmy do następnej klasy, która implementuje interfejs mapy Java - TreeMap.

TreeMap Class

Ta implementacja używa drzewa czerwono-czarnego jako podstawy struktura danych . TreeMap jest sortowane zgodnie z naturalną kolejnością kluczy lub przez komparator dostarczony w czasie tworzenia. Ta implementacja nie zezwala na wartości null, ale utrzymujeporządek na jego elementach. Oto przykładowy program demonstrujący klasę TreeMap.

pakiet MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Mapy kursów = nowe TreeMap () // Dodaj kursy. kursy.put ('Kursy Java', nowe Integer (3)) kursy.put ('Kursy AWS', nowe Integer (7)) kursy.put ('Kursy programowania', nowe Integer (8)) kursy.put (' Kursy nauki o danych ', nowa liczba całkowita (2)) System.out.println (' Wszystkie kursy: '+ kursy.size ()) Zestawst = course.entrySet () for (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Wynik

Łącznie kursy: 4 kursy AWS: 7 kursów Data Science: 2 kursy Java: 3 kursy programowania: 8

Na wyjściu elementy mapy są drukowane w ścisłej kolejności leksykograficznej, która nie występuje w poprzednich przykładach HashMap. Następna klasa, o której będziemy mówić, to LinkedHashMap .

Klasa LinkedHashMap

Jak nazwa wskazuje, ta implementacja interfejsu Java Map wykorzystuje tabelę skrótów i połączoną listę jako podstawowe struktury danych. Tak więc kolejność LinkedHashMap toprzewidywalne, z zamówieniem domyślnym. Pozwala również na wartości null, takie jak w HashMap. Oto przykładowy program demonstrujący klasę TreeMap.

pakiet MyPackage import java.util. * public class LinkedHashMapExample {public static void main (String a []) {LinkedHashMapourses = new LinkedHashMap () course.put ('Java Courses', new Integer (3)) course.put (' Kursy w chmurze ', nowe Integer (7)) course.put (' Programming Courses ', new Integer (8)) course.put (' Data Science Courses ', new Integer (2)) // Drukuje elementy w tej samej kolejności // tak jak zostały wstawione System.out.println (kursy) System.out.println ('Razem kursy:' + kursy.size ()) System.out.println ('Zawiera klucz' Hadoop '?' + course.containsKey ('Hadoop')) System.out.println ('Uzyskiwanie wartości dla klucza' Kursy programowania ':' + course.get ('Kursy programowania')) System.out.println ('Czy mapa jest pusta?' + Course.isEmpty ()) System.out.println ('usuń element' Kursy w chmurze ':' + kursy.remove ('Kursy w chmurze')) System.out.println (kursy)}}

Wynik

{Kursy Java = 3, Kursy w chmurze = 7, Kursy programowania = 8, Kursy nauki o danych = 2} Wszystkie kursy: 4 Zawiera klucz „Hadoop”? false Pobieranie wartości dla klucza „Kursy programowania”: 8 Czy mapa jest pusta? false delete element 'Cloud Courses': 7 {Java Courses = 3, Programming Courses = 8, Data Science Courses = 2}

Przykładowy program jest dość prosty do zrozumienia. Użyłem kilku podstawowych metod, aby zademonstrować działanie LinkeHashMap w Javie. Jak powiedziałem wcześniej, oprócz tych trzech, istnieje wiele innych klas, które implementują interfejs Java Map.

To prowadzi nas do końca artykułu „Interfejs mapy Java”. Omówiłem jeden z interesujących tematów języka Java, jakim jest interfejs Map w Javie.

Upewnij się, że ćwiczysz jak najwięcej i cofnij swoje doświadczenie.

Sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Jesteśmy tutaj, aby pomóc Ci na każdym etapie Twojej podróży, aby zostać oprócz tych pytań do rozmowy kwalifikacyjnej w języku Java, opracowaliśmy program nauczania przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistą Java.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy tego „interfejsu mapy java” artykuł, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.