Map Interface

Map Interface The map interface in Java is a structure that holds a set of key-value pairs where each key is unique and points to one value only. It is a component of the java.util package and is being widely used in Java programming to structure and get data in an ordered manner. A Map is useful if you have to search, update or delete elements on the basis of a key. Class------------Description HashMap----------HashMap is the implementation of Map, but it doesn't maintain any order. LinkedHashMap-----LinkedHashMap is the implementation of Map. It inherits HashMap class. It maintains insertion order. TreeMap-----------TreeMap is the implementation of Map and SortedMap. It maintains ascending order. Useful methods of Map interface V put(Object key, Object value)--It is used to insert an entry in the map. void putAll(Map map)---It is used to insert the specified map in the map. V putIfAbsent(K key, V value)---It inserts the specified value with the specified key in the map only if it is not already specified. V remove(Object key)---It is used to delete an entry for the specified key. boolean remove(Object key, Object value)---It removes the specified values with the associated specified keys from the map. Set keySet()---It returns the Set view containing all the keys. boolean containsValue(Object value)---This method returns true if some value equal to the value exists within the map, else return false. boolean containsKey(Object key)---his method returns true if some key equal to the key exists within the map, else return false. boolean equals(Object o)---It is used to compare the specified Object with the Map. V get(Object key)---This method returns the object that contains the value associated with the key. boolean isEmpty()---This method returns true if the map is empty; returns false if it contains at least one key. ** V replace(K key, V value)**--It replaces the specified value for a specified key. int size()---This method returns the number of entries in the map. Map.Entry Interface Map.Entry is an inner interface of the Map interface which represents a single pair of key-value in a map. It additionally allows one to get a map and to iterate over its entries, convert the map to a set of keys/values, etc. It returns a collection-view of the map, whose elements are of this class. It provides methods to get keys and values. K getKey()---It is used to obtain a key. V getValue()---It is used to obtain value. int hashCode()---It is used to obtain hashCode. ** V setValue(V value)**---It is used to replace the value corresponding to this entry with the specified value. boolean equals(Object o)---It is used to compare the specified object with the other existing objects. import java.util.*; public class MapExample1 { public static void main(String[] args) { Map map=new HashMap(); //Adding elements to map map.put(1,"Amit"); map.put(5,"Rahul"); map.put(2,"Jai"); map.put(6,"Amit"); //Traversing Map Set set=map.entrySet();//Converting to Set so that we can traverse Iterator itr=set.iterator(); while(itr.hasNext()){ //Converting to Map.Entry so that we can get key and value separately Map.Entry entry=(Map.Entry)itr.next(); System.out.println(entry.getKey()+" "+entry.getValue()); } } } Output: 1 Amit 2 Jai 5 Rahul 6 Amit HashMap HashMap is an important data structure in Java which implements the Map interface. In this way, it provides a scheme for storing of key-value pairs. A HashMap has each key unique and only has one value for each key. This enables the lookup of values by their keys that are paired with them. Example: HashMapExample.java import java.util.HashMap; import java.util.Map; public class HashMapExample { public static void main(String[] args) { // Creating a HashMap to store student IDs and their corresponding names Map studentMap = new HashMap(); // Adding some student records to the HashMap studentMap.put(1001, "John Smith"); studentMap.put(1002, "Emily Brown"); studentMap.put(1003, "Michael Johnson"); // Retrieving and printing a student's name based on their ID int studentIdToFind = 1002; String studentName = studentMap.get(studentIdToFind); if (studentName != null) { System.out.println("Student with ID " + studentIdToFind + " is: " + studentName); } else { System.out.println("Student with ID " + studentIdToFind + " not found."); } // Iterating over the entries of the HashMap and printing each key-value pair System.out.println("Student Records:"); for (Map.Entry entry : studentMap.entrySet()) { System.out.println("ID: " + entry.getKey() + ", Name: " + entry.getValue());

Mar 31, 2025 - 11:36
 0
Map Interface

Map Interface

The map interface in Java is a structure that holds a set of key-value pairs where each key is unique and points to one value only. It is a component of the java.util package and is being widely used in Java programming to structure and get data in an ordered manner. A Map is useful if you have to search, update or delete elements on the basis of a key.

Class------------Description
HashMap-
---------HashMap is the implementation of Map, but it doesn't maintain any order.

LinkedHashMap-----LinkedHashMap is the implementation of Map. It inherits HashMap class. It maintains insertion order.

TreeMap-----------TreeMap is the implementation of Map and SortedMap. It maintains ascending order.

Useful methods of Map interface

V put(Object key, Object value)--It is used to insert an entry in the map.

void putAll(Map map)---It is used to insert the specified map in the map.

V putIfAbsent(K key, V value)---It inserts the specified value with the specified key in the map only if it is not already specified.

V remove(Object key)---It is used to delete an entry for the specified key.

boolean remove(Object key, Object value)---It removes the specified values with the associated specified keys from the map.

Set keySet()---It returns the Set view containing all the keys.

boolean containsValue(Object value)---This method returns true if some value equal to the value exists within the map, else return false.

boolean containsKey(Object key)---his method returns true if some key equal to the key exists within the map, else return false.

boolean equals(Object o)---It is used to compare the specified Object with the Map.

V get(Object key)---This method returns the object that contains the value associated with the key.

boolean isEmpty()---This method returns true if the map is empty; returns false if it contains at least one key.
**
V replace(K key, V value)**--It replaces the specified value for a specified key.

int size()---This method returns the number of entries in the map.

Map.Entry Interface

Map.Entry is an inner interface of the Map interface which represents a single pair of key-value in a map. It additionally allows one to get a map and to iterate over its entries, convert the map to a set of keys/values, etc. It returns a collection-view of the map, whose elements are of this class. It provides methods to get keys and values.

K getKey()---It is used to obtain a key.

V getValue()---It is used to obtain value.

int hashCode()---It is used to obtain hashCode.
**
V setValue(V value)**---It is used to replace the value corresponding to this entry with the specified value.

boolean equals(Object o)---It is used to compare the specified object with the other existing objects.

import java.util.*;  
public class MapExample1 {  
public static void main(String[] args) {  
    Map map=new HashMap();  
    //Adding elements to map  
    map.put(1,"Amit");  
    map.put(5,"Rahul");  
    map.put(2,"Jai");  
    map.put(6,"Amit");  
    //Traversing Map  
    Set set=map.entrySet();//Converting to Set so that we can traverse  
    Iterator itr=set.iterator();  
    while(itr.hasNext()){  
        //Converting to Map.Entry so that we can get key and value separately  
        Map.Entry entry=(Map.Entry)itr.next();  
        System.out.println(entry.getKey()+" "+entry.getValue());  
    }  
}
}  

Output:

1 Amit
2 Jai
5 Rahul
6 Amit

HashMap

HashMap is an important data structure in Java which implements the Map interface. In this way, it provides a scheme for storing of key-value pairs. A HashMap has each key unique and only has one value for each key. This enables the lookup of values by their keys that are paired with them.

Example:

HashMapExample.java

    import java.util.HashMap;  
    import java.util.Map;  
    public class HashMapExample {  
        public static void main(String[] args) {  
            // Creating a HashMap to store student IDs and their corresponding names  
            Map studentMap = new HashMap<>();  
            // Adding some student records to the HashMap  
            studentMap.put(1001, "John Smith");  
            studentMap.put(1002, "Emily Brown");  
            studentMap.put(1003, "Michael Johnson");  
            // Retrieving and printing a student's name based on their ID  
            int studentIdToFind = 1002;  
            String studentName = studentMap.get(studentIdToFind);  
            if (studentName != null) {  
                System.out.println("Student with ID " + studentIdToFind + " is: " + studentName);  
            } else {  
                System.out.println("Student with ID " + studentIdToFind + " not found.");  
            }  
            // Iterating over the entries of the HashMap and printing each key-value pair  
            System.out.println("Student Records:");  
            for (Map.Entry entry : studentMap.entrySet()) {  
                System.out.println("ID: " + entry.getKey() + ", Name: " + entry.getValue());  
            }  
            // Checking if a student ID exists in the HashMap  
            int idToCheck = 1004;  
            boolean exists = studentMap.containsKey(idToCheck);  
            System.out.println("Student with ID " + idToCheck + " exists in records: " + exists);  
        }  
    }  

Output:

Student with ID 1002 is: Emily BrownStudent Records:
ID: 1001, Name: John Smith
ID: 1002, Name: Emily Brown
ID: 1003, Name: Michael Johnson
Student with ID 1004 exists in records: false

LinkedHashMap

LinkedHashMap is a class in Java that extends HashMap and implements the Map interface. It resembles Hashmap in functionality but maintains a predictable iteration order, that is, the order in which keys were inserted into the map (insertion-order). This in turn makes LinkedHashMap a good candidate for cases when the order of insertion needs to be preserved.

LinkedHashMapExample.java

    import java.util.LinkedHashMap;  
    import java.util.Map;  
    public class LinkedHashMapExample {  
        public static void main(String[] args) {  
            // Creating a LinkedHashMap to store student IDs and their corresponding names  
            Map studentMap = new LinkedHashMap<>();  
            // Adding some student records to the LinkedHashMap  
            studentMap.put(1001, "John Smith");  
            studentMap.put(1002, "Emily Brown");  
            studentMap.put(1003, "Michael Johnson");  
            // Iterating over the entries of the LinkedHashMap and printing each key-value pair  
            System.out.println("Student Records:");  
            for (Map.Entry entry : studentMap.entrySet()) {  
                System.out.println("ID: " + entry.getKey() + ", Name: " + entry.getValue());  
            }  
        }  
    }  

Output:

Student Records:
ID: 1001, Name: John Smith
ID: 1002, Name: Emily Brown
ID: 1003, Name: Michael Johnson

TreeHashMap

TreeMap in Java is a sorted map implementation that stores key-value pairing in a Red-Black tree structure. It guarantees that the elements are arranged in relation to their keys, either naturally or by a user-defined comparator.

Example:

TreeMapExample.java

    import java.util.*;  
    public class TreeMapExample {  
        public static void main(String[] args) {  
            // Creating a TreeMap to store student IDs and their corresponding names  
            TreeMap studentMap = new TreeMap<>();  
            // Adding some student records to the TreeMap  
            studentMap.put(1003, "Michael Johnson");  
            studentMap.put(1001, "John Smith");  
            studentMap.put(1002, "Emily Brown");  
            // Iterating over the entries of the TreeMap and printing each key-value pair  
            System.out.println("Student Records:");  
            for (Map.Entry entry : studentMap.entrySet()) {  
                System.out.println("ID: " + entry.getKey() + ", Name: " + entry.getValue());  
            }  
        }  
    }  

Output:

Student Records:
ID: 1001, Name: John Smith
ID: 1002, Name: Emily Brown
ID: 1003, Name: Michael Johnson