本综合指南探讨了 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()
Set
。<code class="language-java">System.out.println(myMap.remove(1)); // Output: Orange System.out.println(myMap); // Output: {2=Banana}</code>
values()
Collection
。<code class="language-java">myMap.putIfAbsent(3, "Cherry"); // No change if key 3 exists System.out.println(myMap);</code>
entrySet()
Set
) 的 Map.Entry
。<code class="language-java">myMap.replace(2, "Mango"); System.out.println(myMap);</code>
compute(K key, BiFunction remappingFunction)
BiFunction
实现)<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>
HashMap
是一种基本的 Java 数据结构,提供高效的键值对管理。掌握其方法使您能够应对各种编程挑战,从简单的数据查找到复杂的数据操作任务。 将 HashMap
纳入您的项目中,以利用其力量和效率。
以上是如何与Java的Hashmap合作的详细内容。更多信息请关注PHP中文网其他相关文章!