Java Map Interface: Efficient Key-Value Pair Management

Explore the Java Map interface, a powerful tool for mapping unique keys to values, allowing efficient data retrieval. Learn how to store and access values using keys, manage key-value pairs, and handle exceptions such as NoSuchElementException in Java Map collections.



Java - Map Interface

Map Interface

The Map interface maps unique keys to values. A key is an object that you use to retrieve a value at a later date.

Given a key and a value, you can store the value in a Map object. After the value is stored, you can retrieve it by using its key.

Several methods throw a NoSuchElementException when no items exist in the invoking map.

A ClassCastException is thrown when an object is incompatible with the elements in a map.

A NullPointerException is thrown if an attempt is made to use a null object and null is not allowed in the map.

An UnsupportedOperationException is thrown when an attempt is made to change an unmodifiable map.

Map Interface Methods

Sr.No. Method & Description
1 void clear() - Removes all key/value pairs from the invoking map.
2 boolean containsKey(Object k) - Returns true if the invoking map contains k as a key; otherwise, returns false.
3 boolean containsValue(Object v) - Returns true if the map contains v as a value; otherwise, returns false.
4 Set entrySet() - Returns a Set that contains the entries in the map. The set contains objects of type Map.Entry.
5 boolean equals(Object obj) - Returns true if obj is a Map and contains the same entries; otherwise, returns false.
6 Object get(Object k) - Returns the value associated with the key k.
7 int hashCode() - Returns the hash code for the invoking map.
8 boolean isEmpty() - Returns true if the invoking map is empty; otherwise, returns false.
9 Set keySet() - Returns a Set that contains the keys in the invoking map.
10 Object put(Object k, Object v) - Puts an entry in the invoking map, overwriting any previous value associated with the key.
11 void putAll(Map m) - Puts all the entries from m into this map.
12 Object remove(Object k) - Removes the entry whose key equals k.
13 int size() - Returns the number of key/value pairs in the map.
14 Collection values() - Returns a collection containing the values in the map.

Classes that Implement Map

The following are the classes that implement a Map to use the functionalities of a Map:

  • HashMap
  • EnumMap
  • LinkedHashMap
  • WeakHashMap
  • TreeMap

Interfaces that Extend Map

The following are the interfaces that extend the Map interface:

  • SortedMap
  • NavigableMap
  • ConcurrentMap

Examples of Map Interface

Example 1

Map has its implementation in various classes like HashMap. Following is an example to explain map functionality:

Code

import java.util.HashMap;
import java.util.Map;
public class CollectionsDemo {
public static void main(String[] args) {
    Map m1 = new HashMap<>(); 
    m1.put("Zara", "8");
    m1.put("Mahnaz", "31");
    m1.put("Ayan", "12");
    m1.put("Daisy", "14");

    System.out.println();
    System.out.println(" Map Elements");
    System.out.print("\t" + m1);
}
}
Output

Map Elements
{Daisy=14, Ayan=12, Zara=8, Mahnaz=31}

Example 2

Map has its implementation in various classes like TreeMap, which sorts the entries based on keys. Following is an example to explain map functionality using TreeMap:

Code

import java.util.Map;
import java.util.TreeMap;

public class CollectionsDemo {
public static void main(String[] args) {
    Map m1 = new TreeMap<>(); 
    m1.put("Zara", "8");
    m1.put("Mahnaz", "31");
    m1.put("Ayan", "12");
    m1.put("Daisy", "14");

    System.out.println();
    System.out.println(" Map Elements");
    System.out.print("\t" + m1);
}
}
Output

Map Elements
{Ayan=12, Daisy=14, Mahnaz=31, Zara=8}

Example 3

Map has its implementation in various classes like HashMap. Following is an example to explain map functions using HashMap to add and remove elements to the map:

Code

import java.util.HashMap;
import java.util.Map;
public class CollectionsDemo {
public static void main(String[] args) {
    Map m1 = new HashMap<>(); 
    m1.put("Zara", "8");
    m1.put("Mahnaz", "31");
    m1.put("Ayan", "12");
    m1.put("Daisy", "14");

    System.out.println();
    System.out.println(" Map Elements");
    System.out.print("\t" + m1);
    
    m1.remove("Daisy");
    System.out.println(" Map Elements");
    System.out.print("\t" + m1);
}
}
Output

Map Elements
{Daisy=14, Ayan=12, Zara=8, Mahnaz=31} 
Map Elements
{Ayan=12, Zara=8, Mahnaz=31}