Maps are used for when you want to associate a key with a value and Lists are an ordered collection. Map is an interface in the Java Collection Framework and a HashMap is one implementation of the Map interface. HashMap is efficient for locating a value based on a key and inserting and deleting values based on a key.
For removing all mappings from a HashMap in java we can use various approaches :
- clear() method
- remove through iterator
- removeIf() method
Method 1: Using clear() method
The java.util.HashMap.clear() method in Java is used to clear and remove all the elements or mappings from a specified HashMap.
Syntax:
Hash_Map.clear()
Java
// Java program to remove mappings from // HashMap using clear() method   import java.io.*;   import java.util.*; class GFG {     public static void main(String[] args)     {           HashMap<String, Integer> gfg = new HashMap<>();           // adding values in hashMap 1         gfg.put( "DSA" , 100 );         gfg.put( "Problem Solving" , 100 );         gfg.put( "Development" , 99 );         gfg.put( "Interviews" , 99 );         gfg.put( "Competitive Programming" , 97 );         gfg.put( "FANG" , 99 );           // printing the size and elements         System.out.println( "-------before removing------" );         System.out.println(gfg);         System.out.println(gfg.size());           // clear() method         gfg.clear();           System.out.println( "--------After removing-------" );         System.out.println(gfg);         System.out.println(gfg.size());     } } |
-------before removing------ {DSA=100, FANG=99, Competitive Programming=97, Problem Solving=100, Development=99, Interviews=99} 6 --------After removing------- {} 0
Method 2: remove through the iterator
- In this approach, you will iterate over the Map using iterator and then call remove on the iterator.
- In this case, we are iterating over keys obtained from the calling keySet() method.
- hasNext() is used to check whether there is a next element present inside the collection or not.
Java
// Java program to remove each key value pair // by iterating over the Hashmap   import java.io.*; import java.util.*; class GFG {     public static void main(String[] args)     {         HashMap<String, Integer> gfg = new HashMap<>();           // adding values in hashMap 1         gfg.put( "DSA" , 100 );         gfg.put( "Problem Solving" , 100 );         gfg.put( "Development" , 99 );         gfg.put( "Interviews" , 99 );         gfg.put( "Competitive Programming" , 97 );         gfg.put( "FANG" , 99 );           // printing the size and elements         System.out.println( "-------before removing------" );         System.out.println(gfg);         System.out.println(gfg.size());           // getting all keys of map using keySet()           Set keyset = gfg.keySet();           // iterating over the keys and removing         // hasNext() method is used to check whether next         // element present inside the collection or not           Iterator itr = keyset.iterator();         while (itr.hasNext()) {             itr.next();             itr.remove();         }           System.out.println( "--------After removing-------" );         System.out.println(gfg);         System.out.println(gfg.size());     } } |
-------before removing------ {DSA=100, FANG=99, Competitive Programming=97, Problem Solving=100, Development=99, Interviews=99} 6 --------After removing------- {} 0
Method 3: Using removeIf() method
Syntax:
public boolean removeIf(Predicate filter)
Parameter: This method takes a parameter filter which represents a predicate which returns true for elements to be removed.
Returns: This method returns True if the predicate returns true, and we are able to remove elements.
Exception: This method throws NullPointerException if the specified filter is null.
- In this method, you need to specify the condition on which the element will be removed but for our case, we need to remove all elements.
- Hence, we need to iterate on every key in entryset. We will check the set of keys obtained using the keySet() method.
- We are removing every key of entrySet which is present in keySet. Every entry object, 1 entry=1key+1 value.
- keySet() gives all keys present inside the Map.
Java
// Java program to remove the hashings // from HashMap using removeIf()   import java.io.*;   import java.util.*;   public class GFG {     public static void main(String args[])     {           HashMap<String, Integer> gfg = new HashMap<>();           // adding values in hashMap 1         gfg.put( "DSA" , 100 );         gfg.put( "Problem Solving" , 100 );         gfg.put( "Development" , 99 );         gfg.put( "Interviews" , 99 );         gfg.put( "Competitive Programming" , 97 );         gfg.put( "FANG" , 99 );           System.out.println( "-------before removing------" );         System.out.println(gfg);         System.out.println(gfg.size());           // getting all the keys of map           Set<String> keySet = gfg.keySet();           // checking the entry set         // key in keySet and remove         // it one by one         gfg.entrySet().removeIf(             entry -> keySet.contains(entry.getKey()));           System.out.println( "--------After removing-------" );         System.out.println(gfg);         System.out.println(gfg.size());     } } |
-------before removing------ {DSA=100, FANG=99, Competitive Programming=97, Problem Solving=100, Development=99, Interviews=99} 6 --------After removing------- {} 0