本綜合指南探討了 Java 的 HashMap
,這是一種用於高效鍵值對存儲和管理的強大數據結構。 我們將介紹基本方法並提供實際示例來鞏固您的理解。
HashMap
將數據存儲為鍵值對,為 put
、get
和 remove
等核心操作提供(平均)恆定時間複雜度。 主要優點包括:
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
構造函數很簡單:
<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
方法:
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>
get(Object key)
null
<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
getOrDefault(Object key, V defaultValue)
defaultValue
<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
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>
containsValue(Object value)
<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
<code class="language-java">System.out.println(myMap.getOrDefault(4, "Default")); // Output: Default</code>
putIfAbsent(K key, V value)
功能:>僅在鍵不存在時加入鍵值對。 <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)
功能:僅在鍵存在時替換鍵的值。 <code class="language-java">System.out.println(myMap.containsValue("Orange")); // Output: true System.out.println(myMap.containsValue("Grape")); // Output: false</code>
keySet()
功能:傳回地圖中所有鍵的aSet
<code class="language-java">System.out.println(myMap.remove(1)); // Output: Orange System.out.println(myMap); // Output: {2=Banana}</code>
values()
功能:傳回地圖中所有數值的aCollection
<code class="language-java">myMap.putIfAbsent(3, "Cherry"); // No change if key 3 exists System.out.println(myMap);</code>
entrySet()
>功能:傳回所有鍵值對的ASet
Map.Entry
<code class="language-java">myMap.replace(2, "Mango"); System.out.println(myMap);</code>
compute(K key, BiFunction remappingFunction)
>使用提供的函數更新值。 >
<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>
merge(K key, V value, BiFunction remappingFunction)
BiFunction
實現)<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中文網其他相關文章!