Home >Java >javaTutorial >How to Work with HashMap in Java
This comprehensive guide explores Java's HashMap
, a robust data structure for efficient key-value pair storage and management. We'll cover fundamental methods and provide practical examples to solidify your understanding.
HashMap
stores data as key-value pairs, offering (on average) constant-time complexity for core operations like put
, get
, and remove
. Key advantages include:
java.util
package.null
as both a key and a value.Illustrative Example:
<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>
The HashMap
constructor is straightforward:
<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
Example:
<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
Here, String
represents the key type and Integer
the value type.
Let's delve into frequently used HashMap
methods:
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
if the key is absent.<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
if not found).<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
of all keys in the map.<code class="language-java">System.out.println(myMap.remove(1)); // Output: Orange System.out.println(myMap); // Output: {2=Banana}</code>
values()
Collection
of all values in the map.<code class="language-java">myMap.putIfAbsent(3, "Cherry"); // No change if key 3 exists System.out.println(myMap);</code>
entrySet()
Set
of all key-value pairs (Map.Entry
).<code class="language-java">myMap.replace(2, "Mango"); System.out.println(myMap);</code>
compute(K key, BiFunction remappingFunction)
BiFunction
implementation)<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
implementation)<code class="language-java">HashMap<KeyType, ValueType> mapName = new HashMap<>();</code>
This example showcases HashMap
for counting word frequencies:
<code class="language-java">HashMap<String, Integer> wordCounts = new HashMap<>();</code>
HashMap
is a fundamental Java data structure, offering efficient key-value pair management. Mastering its methods empowers you to tackle diverse programming challenges, from simple data lookups to sophisticated data manipulation tasks. Incorporate HashMap
into your projects to harness its power and efficiency.
The above is the detailed content of How to Work with HashMap in Java. For more information, please follow other related articles on the PHP Chinese website!