Bu eğitimde, örnekler yardımıyla Java HashMap sınıfı ve çeşitli işlemleri hakkında bilgi edineceğiz.
HashMap
Java koleksiyonları çerçeve sınıf karma tablo veri yapısının işlevi sağlar.
Öğeleri anahtar / değer çiftlerinde saklar . Burada anahtarlar , bir haritadaki her bir değeri ilişkilendirmek için kullanılan benzersiz tanımlayıcılardır .
HashMap
Sınıf Harita arabirimini uygular.

Bir HashMap Oluşturun
Bir hash haritası oluşturmak için önce java.util.HashMap
paketi içe aktarmalıyız . Paketi içe aktardıktan sonra, Java'da hashmap'leri nasıl oluşturabileceğimizi burada bulabilirsiniz.
// hashMap creation with 8 capacity and 0.6 load factor HashMap numbers = new HashMap();
Yukarıdaki kodda, numbers adlı bir hashmap oluşturduk. Burada, K anahtar türünü ve V değerlerin türünü temsil eder. Örneğin,
HashMap numbers = new HashMap();
Burada türü tuşlarının olduğu String
ve tipi değerlerinin olduğunu Integer
.
Örnek 1: Java'da HashMap Oluşturma
import java.util.HashMap; class Main ( public static void main(String() args) ( // create a hashmap HashMap languages = new HashMap(); // add elements to hashmap languages.put("Java", 8); languages.put("JavaScript", 1); languages.put("Python", 3); System.out.println("HashMap: " + languages); ) )
Çıktı
HashMap: (Java = 8, JavaScript = 1, Python = 3)
Yukarıdaki örnekte, HashMap
adlandırılmış bir dil oluşturduk .
Burada, put()
hashmap'e eleman eklemek için yöntemi kullandık . put()
Bu eğitimde daha sonra yöntem hakkında daha fazla bilgi edineceğiz .
Java HashMap'te Temel İşlemler
HashMap
Sınıf hashmaps farklı işlemleri gerçekleştirmek için çeşitli yöntemler sağlar. Bu eğitimde yaygın olarak kullanılan bazı dizi listesi işlemlerine bakacağız:
- Öğe ekleyin
- Erişim öğeleri
- Öğeleri değiştir
- Öğeleri kaldır
1. HashMap'e öğeler ekleyin
Hashmap'e tek bir eleman eklemek put()
için HashMap
sınıfın metodunu kullanıyoruz . Örneğin,
import java.util.HashMap; class Main ( public static void main(String() args) ( // create a hashmap HashMap numbers = new HashMap(); System.out.println("Initial HashMap: " + numbers); // put() method to add elements numbers.put("One", 1); numbers.put("Two", 2); numbers.put("Three", 3); System.out.println("HashMap after put(): " + numbers); ) )
Çıktı
İlk HashMap: () koyulduktan sonra HashMap (): (Bir = 1, İki = 2, Üç = 3)
Yukarıdaki örnekte, HashMap
adlandırılmış bir sayı oluşturduk . Burada, put()
sayılara eleman eklemek için yöntemi kullandık .
İfadeye dikkat edin,
numbers.put("One", 1);
Burada, yönteme String
anahtar olarak Bir Integer
değerini ve değer olarak 1 değerini put()
iletiyoruz.
Önerilen Okumalar
- Java HashMap koy ()
- Java HashMap putAll ()
- Java HashMap putIfAbsent ()
2. HashMap Öğelerine Erişim
Bu get()
yöntemi hashmap'ten değere erişmek için kullanabiliriz . Örneğin,
import java.util.HashMap; class Main ( public static void main(String() args) ( HashMap languages = new HashMap(); languages.put(1, "Java"); languages.put(2, "Python"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); // get() method to get value String value = languages.get(1); System.out.println("Value at index 1: " + value); ) )
Çıktı
HashMap: (1 = Java, 2 = Python, 3 = JavaScript) Dizin 1'deki değer: Java
Yukarıdaki örnekte, ifadeye dikkat edin,
languages.get(1);
Burada get()
yöntem, anahtarı bağımsız değişken olarak alır ve anahtarla ilişkili karşılık gelen değeri döndürür .
Ayrıca erişebilir anahtarlar , değerleri ve anahtar / değer kullanılarak resim görüntüleme gibi HashMap çiftleri keySet()
, values()
ve entrySet()
sırasıyla yöntem. Örneğin,
import java.util.HashMap; class Main ( public static void main(String() args) ( HashMap languages = new HashMap(); languages.put(1, "Java"); languages.put(2, "Python"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); // return set view of keys // using keySet() System.out.println("Keys: " + languages.keySet()); // return set view of values // using values() System.out.println("Values: " + languages.values()); // return set view of key/value pairs // using entrySet() System.out.println("Key/Value mappings: " + languages.entrySet()); ) )
Çıktı
HashMap: (1 = Java, 2 = Python, 3 = JavaScript) Anahtarlar: (1, 2, 3) Değerler: (Java, Python, JavaScript) Anahtar / Değer eşlemeleri: (1 = Java, 2 = Python, 3 = JavaScript )
Yukarıdaki örnekte, diller adlı bir hashmap oluşturduk. Burada, anahtarlara , değerlere ve anahtar / değer eşlemelerine hashmap'ten erişiyoruz .
Önerilen Okumalar
- Java HashMap get ()
- Java Hashmap getOrDefault ()
- Java HashMap keySet ()
- Java HashMap değerleri ()
- Java HashMap entrySet ()
3. HashMap Değerini Değiştirin
Bu replace()
yöntemi, bir karma haritadaki bir anahtarla ilişkili değeri değiştirmek için kullanabiliriz . Örneğin,
import java.util.HashMap; class Main ( public static void main(String() args) ( HashMap languages = new HashMap(); languages.put(1, "Java"); languages.put(2, "Python"); languages.put(3, "JavaScript"); System.out.println("Original HashMap: " + languages); // change element with key 2 languages.replace(2, "C++"); System.out.println("HashMap using replace(): " + languages); ) )
Çıktı
Orijinal HashMap: (1 = Java, 2 = Python, 3 = JavaScript) replace () kullanarak HashMap: (1 = Java, 2 = C ++, 3 = JavaScript)
Yukarıdaki örnekte, diller adlı bir hashmap oluşturduk. İfadeye dikkat edin,
languages.replace(2, "C++");
Burada anahtar 2 tarafından belirtilen değeri yeni C ++ değeriyle değiştiriyoruz.
HashMap
Sınıfı, bazı varyasyonlarını içerir replace()
yöntem. Daha fazla bilgi edinmek için ziyaret edin
- Java HashMap replace ()
- Java HashMap replaceAll ()
4. HashMap Öğelerini Kaldır
Bir hashmap'ten öğeleri kaldırmak için remove () yöntemini kullanabiliriz. Örneğin,
import java.util.HashMap; class Main ( public static void main(String() args) ( HashMap languages = new HashMap(); languages.put(1, "Java"); languages.put(2, "Python"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); // remove element associated with key 2 String value = languages.remove(2); System.out.println("Removed value: " + value); System.out.println("Updated HashMap: " + languages); ) )
Çıktı
HashMap: (1 = Java, 2 = Python, 3 = JavaScript) Kaldırılan değer: Python Güncellenmiş HashMap: (1 = Java, 3 = JavaScript)
Burada remove()
yöntem, anahtarı parametresi olarak alır . Daha sonra anahtarla ilişkili değeri döndürür ve girişi kaldırır .
Ayrıca girişi yalnızca belirli koşullar altında kaldırabiliriz. Örneğin,
remove(2, "C++");
Here, the remove()
method only removes the entry if the key 2 is associated with the value C++. Since 2 is not associated with C++, it doesn't remove the entry.
To learn more, visit Java HashMap remove().
Other Methods of HashMap
Method | Description |
---|---|
clear() | removes all mappings from the HashMap |
compute() | computes a new value for the specified key |
computeIfAbsent() | computes value if a mapping for the key is not present |
computeIfPresent() | computes a value for mapping if the key is present |
merge() | merges the specified mapping to the HashMap |
clone() | makes the copy of the HashMap |
containsKey() | checks if the specified key is present in Hashmap |
containsValue() | checks if Hashmap contains the specified value |
size() | returns the number of items in HashMap |
isEmpty() | checks if the Hashmap is empty |
Iterate through a HashMap
To iterate through each entry of the hashmap, we can use Java for-each loop. We can iterate through keys only, vales only, and key/value mapping. For example,
import java.util.HashMap; import java.util.Map.Entry; class Main ( public static void main(String() args) ( // create a HashMap HashMap languages = new HashMap(); languages.put(1, "Java"); languages.put(2, "Python"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); // iterate through keys only System.out.print("Keys: "); for (Integer key : languages.keySet()) ( System.out.print(key); System.out.print(", "); ) // iterate through values only System.out.print("Values: "); for (String value : languages.values()) ( System.out.print(value); System.out.print(", "); ) // iterate through key/value entries System.out.print("Entries: "); for (Entry entry : languages.entrySet()) ( System.out.print(entry); System.out.print(", "); ) ) )
Output
HashMap: (1=Java, 2=Python, 3=JavaScript) Keys: 1, 2, 3, Values: Java, Python, JavaScript, Entries: 1=Java, 2=Python, 3=JavaScript,
Note that we have used the Map.Entry
in the above example. It is the nested class of the Map
interface that returns a view (elements) of the map.
We first need to import the java.util.Map.Entry
package in order to use this class.
This nested class returns a view (elements) of the map.
Creating HashMap from Other Maps
In Java, we can also create a hashmap from other maps. For example,
import java.util.HashMap; import java.util.TreeMap; class Main ( public static void main(String() args) ( // create a treemap TreeMap evenNumbers = new TreeMap(); evenNumbers.put("Two", 2); evenNumbers.put("Four", 4); System.out.println("TreeMap: " + evenNumbers); // create hashmap from the treemap HashMap numbers = new HashMap(evenNumbers); numbers.put("Three", 3); System.out.println("HashMap: " + numbers); ) )
Output
TreeMap: (Four=4, Two=2) HashMap: (Two=2, Three=3, Four=4)
In the above example, we have created a TreeMap
named evenNumbers
. Notice the expression,
numbers = new HashMap(evenNumbers)
Here, we are creating a HashMap
named numbers using the TreeMap
. To learn more about treemap, visit Java TreeMap.
Note: While creating a hashmap, we can include optional parameters: capacity and load factor. For example,
HashMap numbers = new HashMap(8, 0.6f);
Here,
- 8 (capacity is 8) - This means it can store 8 entries.
- 0.6f (load factor is 0.6) - This means whenever our hash table is filled by 60%, the entries are moved to a new hash table double the size of the original hash table.
İsteğe bağlı parametreler kullanılmadığı takdirde, varsayılan kapasitesi olacak 16 ve varsayılan yük faktörü olacaktır 0.75 .