首頁 > Java > java教程 > Java 中的 HashMap

Java 中的 HashMap

王林
發布: 2024-08-30 15:34:13
原創
372 人瀏覽過

在Java中,你可以使用陣列來儲存數據,但是每當需要以鍵和值的方式儲存或檢索資料時,你就必須使用HashMap。 Hashmap 是 Java 中的一個集合,屬於稱為 Map 的介面層次結構。在這篇文章中,我們將從Java程式設計的角度討論Hashmap。

文法:

廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗

要在程式碼中使用HashMap,必須匯入(匯入java.util.HashMap套件)或其父類別。

import java.util.HashMap;
import java.util.Map;
HashMap<datatypeOfkey, dataytpeOfValue> <name_of_hashMap> =new HashMap<datatypeOfkey, dataytpeOfValue> ();
登入後複製

其中 datatypeOfkey 和 dataytpeOfValue 可以是 Integer 或 String。

範例:

Map<String, String> newHashMap = new HashMap<>();
登入後複製

HashMap 在 Java 中如何運作?

Hashmap 使用雜湊技術來儲存和檢索元素。對於存儲,它使用稱為存儲桶的鍊錶。它在鍵上使用兩個方法:equals() 和 hashCode() 來進行插入和檢索操作。插入時,hashCode決定存放的桶子。之後,hashCode 再次檢查是否已經存在具有相同 hashCode 的 key;如果是,則將該值替換為新值。如果沒有,則建立新的映射,並將值儲存在其中。在檢索資料時,hashCode決定了要尋找的桶子。之後,hashCode() 和 equals() 取得值並傳回該值。如果不存在任何值,則傳回 null。

Java 中的 HashMap 建構子

它有四個建構函數,如下所述。

  1. HashMap():預設的,負載因子為0.75,容量為16。
  2. HashMap(int ): 使用其參數中定義的容量來建立 HashMap。這裡的負載因子是預設的。
  3. HashMap(int , float ): 使用其參數中定義的容量和負載因子來建立 HashMap。
  4. HashMap(Map m): 依照參數對應的定義建立 HashMap。

Java 中 HashMap 的 13 個方法

這裡討論的以下所有方法都可以使用,無論任何版本的 Java。

  1. public value get(Object key): 用來取得對應鍵的值。
  2. public value put(K key, V value): 插入對應鍵的參數中所提及的值。
  3. public boolean containsKey(Object key):決定key是否存在,注意回傳類型為Boolean。
  4. public boolean containsValue(Object value):決定值是否存在,注意回傳型別是Boolean。
  5. public V remove(Object key): 清除程式碼中指定的特定鍵及其值形式的 HashMap。
  6. public void clear(): 如上所述清除 HashMap 中的所有鍵和值。
  7. public boolean isEmpty(): 驗證 HashMap 是否為空。
  8. 物件克隆():此方法傳回 HashMap 的映射,用於克隆到另一個 HashMap。
  9. public int size(): 傳回 HashMap 中存在的大小,表示有幾個鍵值對。
  10. public Set>> EntrySet():此方法傳回HashMap中所對應的集合。
  11. 公共集 keySet():此方法傳回HashMap中的鍵集合
  12. public void putAll(Map ): 將整個地圖內容複製到另一個。
  13. 集合values():你可以得到HashMap所有值的集合。

Java 中 HashMap 的範例

HashMap 是一個基於 Map 的集合類,用於儲存鍵值對。讓我們來看幾個例子。

範例#1

我們將在這裡討論 HashMap 的一些程式碼範例。您應該透過自己編寫程式碼來練習程式碼,並在 java 編譯器上運行以檢查輸出。您可以將輸出與給定的輸出進行匹配以進行驗證。建立 HashMap 並在其中插入資料。

代碼:

import java.util.HashMap;
import java.util.Map;
public class CreateHashMapExample {
public static void main(String[] args) {
// Creating a HashMap
Map<String, String> 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);
}
}
登入後複製

輸出:

Java 中的 HashMap

範例#2

讓我們再舉一個例子,我們將字串當作鍵,將整數當作值。這裡我們將測量鍵及其對應的值(以英吋為單位)。

代碼:

import java.util.HashMap;
public class CreateHashMapExample2 {
public static void main(String[] args) {
// Create a HashMap object called measurement
HashMap<String, Integer> ms = new HashMap<String, Integer>();
// 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));
}
}
}
登入後複製

輸出:

Java 中的 HashMap

Example #3

Here we will do multiple things. We will first create a Hashmap; we will then get its values one by one. After that, we will copy all data of the HashMap to a brand new HashMap. After that, we will remove one item and gets their sizes. If the size is lower by one, the decrease of size by removal is confirmed.

Code:

import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
public class HashMapInJava {
public static void main(String[] args) {
Map<String, String> 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());
}
}
登入後複製

Output:

Java 中的 HashMap

Did you notice one thing in the output of HashMap in all of our examples while we print the key and values? The print is not in sorted order. Hashmap is not like an array, so scan and print need to be sorted; it can pick random based on its hash value.

Conclusion

You should use HashMap when your code or use case requires the handling of data in key-value pairs. In this article, we have learned about hashmaps in Java with code examples. First, however, you should practice writing codes on your own to master this topic.

Recommended Article

This is a guide to the HashMap in Java. Here we discuss Introduction to HashMap in Java and its Methods along with Code implementation and Output. You can also go through our suggested articles to learn more –

  1. HTML Frames
  2. HTML Attributes
  3. What is JVM?
  4. Java ClassNotFoundException

以上是Java 中的 HashMap的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板