Java HashMap Class
Introduction
The Java HashMap class is the Hash table based implementation of the Map interface.Following are the important points about HashMap −
This class makes no guarantees as to the iteration order of the map; in particular, it does not guarantee that the order will remain constant over time.
This class permits null values and the null key.
Class declaration
Following is the declaration for java.util.HashMap class −
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable
Parameters
Following is the parameter for java.util.HashMap class −
K − This is the type of keys maintained by this map.
V − This is the type of mapped values.
Class constructors
| Sr.No. | Constructor & Description |
|---|---|
| 1 | HashMap() This constructs an empty HashMap with the default initial capacity (16) and the default load factor (0.75). |
| 2 | HashMap(int initialCapacity) This constructs an empty HashMap with the specified initial capacity and the default load factor (0.75). |
| 3 | HashMap(int initialCapacity, float loadFactor) This constructs an empty HashMap with the specified initial capacity and load factor. |
| 4 | HashMap(Map<? extends K,? extends V> m) This constructs a new HashMap with the same mappings as the specified Map. |
Class methods
| Sr.No. | Method & Description |
|---|---|
| 1 | void clear()
This method removes all of the mappings from this map. |
| 2 | Object clone()
This method returns a shallow copy of this HashMap instance, the keys and values themselves are not cloned. |
| 3 | V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
Attempts to compute a mapping for the specified key and its current mapped value (or null if there is no current mapping). |
| 4 | V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction)
If the specified key is not already associated with a value (or is mapped to null), attempts to compute its value using the given mapping function and enters it into this map unless null. |
| 5 | V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction)
If the value for the specified key is present and non-null, attempts to compute a new mapping given the key and its current mapped value. |
| 6 | boolean containsKey(Object key)
This method returns true if this map contains a mapping for the specified key. |
| 7 | boolean containsValue(Object value)
This method returns true if this map maps one or more keys to the specified value. |
| 8 | Set<Map.Entry<K,V>> entrySet()
This method returns a Set view of the mappings contained in this map. |
| 9 | V get(Object key)
This method returns the value to which the specified key is mapped, or null if this map contains no mapping for the key. |
| 10 | boolean isEmpty()
This method returns true if this map contains no key-value mapping. |
| 11 | Set<K> keySet()
This method returns a Set view of the keys contained in this map. |
| 12 | V merge(K key, V value, BiFunction<? super V,? super V,? extends V> remappingFunction)
If the specified key is not already associated with a value or is associated with null, associates it with the given non-null value. |
| 13 | V put(K key, V value)
This method associates the specified value with the specified key in this map. |
| 14 | void putAll(Map<? extends K,? extends V> m)
This method copies all of the mappings from the specified map to this map. |
| 15 | V remove(Object key)
This method removes the mapping for the specified key from this map if present. |
| 16 | int size()
This method returns the number of key-value mappings in this map. |
| 17 | Collection<V> values()
This method returns a Collection view of the values contained in this map. |
Methods inherited
This class inherits methods from the following classes −
- java.util.AbstractMap
- java.util.Object
- java.util.Map
Example
The following program illustrates several of the methods supported by HashMap collection −
import java.util.*;
public class HashMapDemo {
public static void main(String args[]) {
// Create a hash map
HashMap hm = new HashMap();
// Put elements to the map
hm.put("Zara", new Double(3434.34));
hm.put("Mahnaz", new Double(123.22));
hm.put("Ayan", new Double(1378.00));
hm.put("Daisy", new Double(99.22));
hm.put("Qadir", new Double(-19.08));
// Get a set of the entries
Set set = hm.entrySet();
// Get an iterator
Iterator i = set.iterator();
// Display elements
while(i.hasNext()) {
Map.Entry me = (Map.Entry)i.next();
System.out.print(me.getKey() + ": ");
System.out.println(me.getValue());
}
System.out.println();
// Deposit 1000 into Zara's account
double balance = ((Double)hm.get("Zara")).doubleValue();
hm.put("Zara", new Double(balance + 1000));
System.out.println("Zara's new balance: " + hm.get("Zara"));
}
}
This will produce the following result −
Output
Daisy: 99.22 Ayan: 1378.0 Zara: 3434.34 Qadir: -19.08 Mahnaz: 123.22 Zara's new balance: 4434.34