首頁 > Java > java教程 > 如何與Java的Hashmap合作

如何與Java的Hashmap合作

Mary-Kate Olsen
發布: 2025-01-25 04:15:09
原創
624 人瀏覽過

How to Work with HashMap in Java

本綜合指南探討了 Java 的 HashMap,這是一種用於高效鍵值對存儲和管理的強大數據結構。 我們將介紹基本方法並提供實際示例來鞏固您的理解。


理解 HashMap

HashMap 將數據存儲為鍵值對,為 putgetremove 等核心操作提供(平均)恆定時間複雜度。 主要優點包括:

  • 唯一鍵:每個鍵必須是唯一的;值可以重複。
  • 多功能數據類型:鍵和值可以是任何對像類型。
  • 包位置: 位於 java.util 包內。
  • 空處理: 接受 null 作為鍵和值。

示例:

<code class="language-java">import java.util.HashMap;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap<Integer, String> myMap = new HashMap<>();

        // Adding entries
        myMap.put(1, "Apple");
        myMap.put(2, "Banana");
        myMap.put(3, "Cherry");

        // Retrieving a value
        System.out.println(myMap.get(1)); // Output: Apple
    }
}</code>
登入後複製
登入後複製
登入後複製

HashMap 創建

HashMap 構造函數很簡單:

<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
登入後複製
登入後複製
登入後複製

示例:

<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
登入後複製
登入後複製
登入後複製

這裡,String代表鍵類型,Integer代表值類型。


基本的 HashMap 方法

讓我們深入研究一下常用的HashMap方法:

1。 put(K key, V value)

  • 功能:增加一個鍵值對。如果密鑰存在,則更新了值。
  • >
  • >範例:
<code class="language-java">import java.util.HashMap;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap<Integer, String> myMap = new HashMap<>();

        // Adding entries
        myMap.put(1, "Apple");
        myMap.put(2, "Banana");
        myMap.put(3, "Cherry");

        // Retrieving a value
        System.out.println(myMap.get(1)); // Output: Apple
    }
}</code>
登入後複製
登入後複製
登入後複製

2。 get(Object key)

  • 功能:擷取與給定鍵關聯的值。如果沒有鍵,回傳null
  • >範例:
<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
登入後複製
登入後複製
登入後複製

3。 getOrDefault(Object key, V defaultValue)

  • 功能:檢索值;如果鍵遺失,請回傳defaultValue
  • >範例:
<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
登入後複製
登入後複製
登入後複製

4。 containsKey(Object key)

  • 功能:檢查地圖是否包含指定的鍵。 >
  • >範例:
<code class="language-java">HashMap<Integer, String> myMap = new HashMap<>();
myMap.put(1, "Apple");
myMap.put(2, "Banana");
myMap.put(1, "Orange"); // Updates value for key 1
System.out.println(myMap); // Output: {1=Orange, 2=Banana}</code>
登入後複製

5。

containsValue(Object value)

    功能:
  • 檢查地圖是否包含指定的值。
  • >範例:
6。
<code class="language-java">System.out.println(myMap.get(1)); // Output: Orange
System.out.println(myMap.get(4)); // Output: null</code>
登入後複製

remove(Object key)>>功能:

>刪除給定鍵的條目並傳回其值(或找不到的話)。
  • >範例: null
  • 7。
<code class="language-java">System.out.println(myMap.getOrDefault(4, "Default")); // Output: Default</code>
登入後複製

putIfAbsent(K key, V value)功能:>僅在鍵不存在時加入鍵值對。

>
  • >範例:
  • 8。
<code class="language-java">System.out.println(myMap.containsKey(1)); // Output: true
System.out.println(myMap.containsKey(4)); // Output: false</code>
登入後複製

replace(K key, V value)功能:僅在鍵存在時替換鍵的值。

  • >範例:
  • 9。
<code class="language-java">System.out.println(myMap.containsValue("Orange")); // Output: true
System.out.println(myMap.containsValue("Grape")); // Output: false</code>
登入後複製

keySet()功能:傳回地圖中所有鍵的a

    >
  • >範例: Set
  • 10。
<code class="language-java">System.out.println(myMap.remove(1)); // Output: Orange
System.out.println(myMap); // Output: {2=Banana}</code>
登入後複製

values()功能:傳回地圖中所有數值的a

  • >範例: Collection
  • 11。
<code class="language-java">myMap.putIfAbsent(3, "Cherry"); // No change if key 3 exists
System.out.println(myMap);</code>
登入後複製

entrySet()>功能:傳回所有鍵值對的A

    )。
  • >範例: Set Map.Entry
  • 12。
<code class="language-java">myMap.replace(2, "Mango");
System.out.println(myMap);</code>
登入後複製

功能:compute(K key, BiFunction remappingFunction)>使用提供的函數更新值。 >

>
    範例:
  • (需要A實作)>
<code class="language-java">import java.util.HashMap;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap<Integer, String> myMap = new HashMap<>();

        // Adding entries
        myMap.put(1, "Apple");
        myMap.put(2, "Banana");
        myMap.put(3, "Cherry");

        // Retrieving a value
        System.out.println(myMap.get(1)); // Output: Apple
    }
}</code>
登入後複製
登入後複製
登入後複製

13。 merge(K key, V value, BiFunction remappingFunction)

  • 功能:使用函數將新值與現有值結合在一起。
  • >示例:(需要ABiFunction實現)
  • >
<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
登入後複製
登入後複製
登入後複製

綜合示例:單詞頻率分析

此示例顯示HashMap用於計數單詞頻率:>

<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
登入後複製
登入後複製
登入後複製

結論

是一種基本的Java數據結構,提供有效的鍵值對管理。掌握其方法使您能夠應對各種編程挑戰,從簡單的數據查找到復雜的數據操縱任務。 將HashMap納入您的項目以利用其力量和效率。

以上是如何與Java的Hashmap合作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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