HashMap Class Tutorial in java collection
The HashMap Class implements the Map Interface of the java collection framework . The HashMap stores the element Key-Value pair in the hash table. HashMap does not provide synchronization but allows to provide “Null” Keys and “Null” Values .
The HashMap uses initial capacity and load factor as parameters. The initial capacity determines the number of buckets in the hash table whereas load factor determines how to retrieve hash table before its initial capacity is increased. When the hash table reaches to its full capacity, then it is rehashed, means the internal data structures are re-built and it doubles the buckets in the hash table. The HashMap initial default capacity of is 16 with a load factor of 0.75.
HashMap Class in Java Collection
The HashMap class Hierarchy is given below
java.lang.Object
-> java.util.AbstractMap<K,V>
->-> java.util.HashMap<K,V>
The implemented interfaces by HashMap Interface:
Serializable, Cloneable, Map <K,V>
public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable, Serializable
The HashSet Interface provides the below given constructors
HashMap Constructors | HashMapConstructor Description |
HashMap() | creates a empty HashMap which provides default initial capacity as 16 and load factor as 0.75 |
HashMap( Map< ? extends K , ? extends V > m ) | creates a new hash map as per the specified map |
HashMap(int initialCapacity) | creates a empty HashMap with provided initial capacity and load factor as 0.75 |
HashMap(int initialCapacity, float loadFactor) | creates a empty HashMap with provided initial capacity and provided load factor |
Methods of HashMap Interface
HashMap Method | HashMap Method Description |
---|---|
void clear() | removes all of the mappings from map. |
boolean isEmpty() | returns true if map is empty |
Object clone() | returns a shallow copy of HashMap instance but does not clone the keys and values |
Set entrySet() | returns a collection view hash map |
Set keySet() | returns a set view map keys |
V put(Object key, Object value) | inserts an entry in the map |
void putAll(Map map) | inserts the specified map in the map |
V putIfAbsent(K key, V value) | inserts the specified value with the specified key in the map only if it is not already specified |
V remove(Object key) | removes an entry from the map as per specified key |
boolean remove(Object key, Object value) | removes specified values with the specified keys from the map |
V compute(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) | computes mapping for the specified key using the given function where key value is null |
V computeIfAbsent(K key, Function<? super K,? extends V> mappingFunction) | computes value using the given mapping function, if the specified key is not already associated with a value |
V computeIfPresent(K key, BiFunction<? super K,? super V,? extends V> remappingFunction) | computes new mapping for the given key and value if key-value pair exists |
boolean containsValue(Object value) | returns true if given value exists in map |
boolean containsKey(Object key) | returns true if given key exists in map |
boolean equals(Object o) | compares the specified Object with the Map |
void forEach(BiConsumer<? super K,? super V> action) | Executes the specified action for each key-value pair in the map till all have been processed |
V get(Object key) | returns the object that contains the value associated with the key |
V getOrDefault(Object key, V defaultValue) | returns value to which the specified key is mapped or map with no key value |
boolean isEmpty() | returns true if map is empty |
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 null, then associates it with the given value |
V replace(K key, V value) | replaces given value for a specified key |
boolean replace(K key, V oldValue, V newValue) | replaces old value with the new value for a specified key |
void replaceAll(BiFunction<? super K,? super V,? extends V> function) | replaces each entry’s value with the result of invoking the given function on that entry until all have been processed or the function throws an exception. |
Collection<V> values() | returns a collection view of the map values |
int size() | returns map size |
HashMap Example in Java Collection
package core.java.planforexams; import java.util.HashMap; import java.util.Map; public class BasicHashMapExample { public static void main(String args[]){ // HashMap Object with student names HashMap<Integer,String> students=new HashMap<Integer,String>();//Creating HashMap students.put(1,"Mohit"); students.put(2,"Rohit"); students.put(3,"Mihika"); students.put(4,"Khushal"); System.out.println("Student HashMap Iteration..."); for(Map.Entry names : students.entrySet()) { System.out.println(names.getKey()+" "+names.getValue()); } } } Output: Student HashMap Iteration... 1 Mohit 2 Rohit 3 Mihika 4 Khushal
Leave a Reply