Wprowadzenie do HashMap w Javie
W Javie możesz używać tablicy do przechowywania danych, ale ilekroć istnieje potrzeba przechowywania lub pobierania danych w sposób kluczowy i wartościowy, musisz do tego użyć HashMap. Hashmap to kolekcja w Javie, która należy do hierarchii interfejsu o nazwie Mapa. W tym artykule omówimy Hashmap z perspektywy programowania Java.
Składnia:
Aby użyć HashMap w kodzie, musisz zaimportować (zaimportować pakiet java.util.HashMap) lub jego klasę nadrzędną.
import java.util.HashMap;
import java.util.Map;
HashMap =new HashMap ();
Gdzie datatypeOfkey i dataytpeOfValue może być liczbą całkowitą lub łańcuchem.
Przykład:
Map newHashMap = new HashMap();
Jak działa HashMap w Javie?
Hashmap używa technik haszujących do przechowywania i pobierania elementów. Do przechowywania używa połączonej listy, która jest określana jako wiadra. Używa dwóch metod na key: equals () i hashCode () do operacji wstawiania i pobierania. Podczas wstawiania hashCode określa wiadro do przechowywania. Następnie ponownie hashCode sprawdza, czy istnieje już klucz z jednakowym hashCode, jeśli tak, wartość jest zastępowana nowym. Jeśli nie, tworzona jest nowa mapa, w której zostanie zapisana wartość. Podczas pobierania danych hashCode określa segment wyszukiwania. Następnie za pomocą hashCode () i equals () pobiera wartość i zwraca ją. Zwraca null w przypadku braku wartości.
HashMap Constructor w Javie
Ma czterech konstruktorów, jak wspomniano poniżej.
- HashMap (): Domyślnie jest to współczynnik obciążenia 0, 75 i pojemność 16.
- HashMap (int): Tworzy HashMap o pojemności zdefiniowanej w argumentach. Współczynnik obciążenia jest tutaj domyślny.
- HashMap (int, float): Tworzy HashMap ze współczynnikiem pojemności i obciążenia zdefiniowanym w argumentach.
- HashMap (mapa m): Tworzy HashMap zgodnie z definicją w mapie argumentów.
Top 13 metod HashMap w Javie
Wszystkie poniższe metody omówione tutaj mogą być używane niezależnie od dowolnej wersji Javy.
- public value get (Object key): Używany do uzyskania wartości odpowiedniego klucza.
- wprowadzenie wartości publicznej (klawisz K, wartość V): Wstawia wartość wymienioną w argumencie dla odpowiedniego klucza.
- public boolean zawiera Klucz (Klucz obiektu): Decyzja o tym, czy klucz jest obecny, czy nie, zwróć uwagę, że typ zwracany jest jako wartość logiczna.
- public boolean zawieraValue (wartość obiektu): Decyzja o tym, czy wartość jest obecna, czy nie, zwróć uwagę, że zwracanym typem jest wartość logiczna.
- public V remove (Object key): Czyści określony klucz i jego wartość HashMap w formie określonej w kodzie.
- public void clear (): Czyści wszystkie klucze i wartości z HashMap, jak wspomniano.
- public boolean isEmpty (): Sprawdza, czy HashMap jest pusta, czy nie.
- Object clone (): Mapowania HashMap są zwracane przez tę metodę, której możemy użyć do klonowania w innym HashMap.
- public int size (): Zwraca rozmiar, oznacza liczbę par klucz-wartość obecnych w HashMap.
- zestaw publiczny
entrySet (): Ta metoda zwraca zestaw mapowań w HashMap. - public Set keySet () : Ta metoda zwraca zestaw kluczy obecny w HashMap.
- public void putAll (Map): Kopiuje całą zawartość mapy na drugą.
- Wartości kolekcji (): Możesz uzyskać kolekcję wszystkich wartości dla HashMap.
Przykłady HashMap w Javie
HashMap to klasa kolekcji oparta na mapie, która służy do przechowywania par kluczy i wartości. Spójrzmy na kilka przykładów.
Przykład 1
Omówimy tutaj kilka przykładów kodu HashMap. Powinieneś ćwiczyć kody, pisząc siebie i uruchamiając kompilator Java, aby sprawdzić dane wyjściowe. Możesz dopasować wynik do podanego w celu weryfikacji. Tworzenie HashMap i wstawianie do niego danych.
Kod:
import java.util.HashMap;
import java.util.Map;
public class CreateHashMapExample (
public static void main(String() args) (
// Creating a HashMap
Map newHashMap = new HashMap();
// Addition of key and value
newHashMap.put("Key1", "Java");
newHashMap.put("Key2", "C++");
newHashMap.put("Key3", "Python");
// Addition of new key and value
newHashMap.putIfAbsent("Key4", "Ruby");
System.out.println(newHashMap);
)
)
Wynik:
Przykład nr 2
Weźmy inny przykład, w którym bierzemy ciąg jako klucz, a liczbę całkowitą jako wartość. Tutaj zmierzymy klucz i odpowiadające mu wartości w calach jako wartość.
Kod:
import java.util.HashMap;
public class CreateHashMapExample2 (
public static void main(String() args) (
// Create a HashMap object called measurement
HashMap ms = new HashMap();
// Add keys and values (Name and phone number of the person)
ms.put("S", 35);
ms.put("M", 38);
ms.put("L", 40);
ms.put("XL", 42);
for (String key : ms.keySet()) (
System.out.println("measurement of " + key + " in inch is: " + ms.get(key));
)
)
)
Wynik:
Przykład nr 3
Tutaj zrobimy wiele rzeczy. Najpierw stworzymy Hashmapę, a następnie uzyskamy jej wartości jedna po drugiej. Następnie skopiujemy wszystkie dane HashMap do zupełnie nowej HashMap. Następnie usuniemy jeden przedmiot i uzyskamy jego rozmiary. Jeśli rozmiar jest mniejszy o jeden, zmniejszenie rozmiaru przez usunięcie jest potwierdzane.
Kod:
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class HashMapInJava (
public static void main(String() args) (
Map newHashMap = new HashMap();
// Addition of key and value
newHashMap.put("Key1", "Lenovo");
newHashMap.put("Key2", "Motorola");
newHashMap.put("Key3", "Nokia");
newHashMap.put("Key4", null);
newHashMap.put(null, "Sony");
System.out.println("Original map contains:" + newHashMap);
//getting size of Hashmap
System.out.println("Size of original Map is:" + newHashMap.size());
//copy contains of one Hashmap to another
Map copyHashMap = new HashMap();
copyHashMap.putAll(newHashMap);
System.out.println("copyHashMap mappings= " + copyHashMap);
//Removal of null key
String nullKeyValue = copyHashMap.remove(null);
System.out.println("copyHashMap null key value = " + nullKeyValue);
System.out.println("copyHashMap after removing null key = " + copyHashMap);
System.out.println("Size of copyHashMap is:" + copyHashMap.size());
)
)
Wynik:
Czy zauważyłeś jedną rzecz w wynikach HashMap we wszystkich naszych przykładach, podczas gdy drukujemy klucz i wartości? Wydruk nie jest posortowany. Hashmap nie jest jak tablica, więc skanowanie i drukowanie muszą być sortowane, może wybierać losowo na podstawie uzyskanej wartości skrótu.
Wniosek
Powinieneś używać HashMap, gdy twój kod lub przypadek użycia wymaga przetwarzania danych w parach klucz-wartość. W tym artykule dowiedzieliśmy się o skrótach w Javie z przykładowymi kodami. Powinieneś przećwiczyć samodzielne pisanie kodów, aby opanować ten temat.
Polecany artykuł
To jest przewodnik po HashMap w Javie. Tutaj omawiamy Wprowadzenie do HashMap w Javie i jej metod wraz z implementacją i wyjściem kodu. Możesz także przejrzeć nasze sugerowane artykuły, aby dowiedzieć się więcej -
- Wprowadzenie do ramek HTML
- Top 11 atrybutów HTML
- Zastosowania HTML | 10 najlepszych zastosowań
- 10 najlepszych różnic między HTML a HTML5 (infografiki)