Skip to content
Sahithyan's S2
Sahithyan's S2 — Program Construction

HashMap

A basic implementation of the Map interface in Java. Uses keys in the same way as an Array uses an index. Duplicate keys are not allowed. Existing value will be overridden when a key is reused.

HashMaps are not ordered and not thread safe.

Hashmap object has 48 bytes overhead. And an array overhead for storing the storage buckets. Each entry in the hashmap has an overhead of 36 bytes to store:

  • Key
  • Value
  • Hashcode of the key
  • Reference to the next entry in the bucket

Operations

Creating a HashMap

HashMap <K,V> hm = new HashMap<>(int capacity, float loadFactor);

Here K is type of key and V is type of value. The constructor optionally accepts 2 parameters. capacity is the number of storage buckets. The capacity is increased when loadFactor * capacity number of buckets are used. Once this threshold is reached, the capacity is doubled.

Adding elements to the HashMap

put(key, value) method is used to add elements.

Changing the elements in HashMap

put(key, value) can be used to change elements.

Access the elements

get(key) method is used to access a value using its key.

Remove the elements from HashMap

remove(key) method is used to remove elements.

Traversal

import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args)
{
// initialize a HashMap
HashMap<String, Integer> numbers = new HashMap<>();
numbers.put("key1", 1);
numbers.put("key2", 2);
numbers.put("key3", 3);
for(Map.Entry<String,Integer> e : numbers.entrySet()){
System.out.println("Key: "+e.getKey()+" Value: "+e.getValue());
}
}
}