Open In App

HashMap clone() Method in Java

Let us do clear out the foundation concept of shallow copy and deep copy in java. Shallow repetition is quicker. However, it’s “lazy” it handles pointers and references. Rather than creating a contemporary copy of the particular knowledge the pointer points to, it simply copies over the pointer price. So, each the first and therefore the copy can have pointers that reference constant underlying knowledge. On another side, deep copy or deep repetition truly clones the underlying data. It is not shared between the first and therefore the copy.

The java.util.HashMap.clone() method is present inside java.util package which typically is used to return a shallow copy of the mentioned hash map. It just creates a copy of the map.



Syntax: 



Hash_Map.clone()

Parameters: The method does not take any parameters.

Return Value: The method just returns a copy of the HashMap. 

Example 1:




// Java Program to Illustrate the clone() Method by
// Mapping String Values to Integer Keys
  
// Importing utility classes
import java.util.*;
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
  
        // Creating an empty HashMap
        HashMap<Integer, String> hash_map
            = new HashMap<Integer, String>();
  
        // Mapping string values to int keys
        // Using put() method
  
        // Custom input values passed as arguments
        hash_map.put(10, "Geeks");
        hash_map.put(15, "4");
        hash_map.put(20, "Geeks");
        hash_map.put(25, "Welcomes");
        hash_map.put(30, "You");
  
        // Print and display the HashMap
        System.out.println("Initial Mappings are: "
                           + hash_map);
  
        // Print and display the cloned HashMap
        // using clone() method
        System.out.println("The cloned map look like this: "
                           + hash_map.clone());
    }
}

Output: 
Initial Mappings are: {20=Geeks, 25=Welcomes, 10=Geeks, 30=You, 15=4}
The cloned map look like this: {25=Welcomes, 10=Geeks, 20=Geeks, 30=You, 15=4}

 

Example  2:




// Java code to illustrate the clone() method by
// Mapping Integer Values to String Keys
  
// Importing utility classes
import java.util.*;
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an empty HashMap
        // Declaring objects of type integer and string
        HashMap<String, Integer> hash_map
            = new HashMap<String, Integer>();
  
        // Mapping int values to string keys
        // using put() method
        hash_map.put("Geeks", 10);
        hash_map.put("4", 15);
        hash_map.put("Geeks", 20);
        hash_map.put("Welcomes", 25);
        hash_map.put("You", 30);
  
        // Print and display the HashMap
        System.out.println("Initial Mappings are: "
                           + hash_map);
  
        // Print and display the cloned HashMap
        // using clone() method
        System.out.println("The cloned map look like this: "
                           + hash_map.clone());
    }
}

Output: 
Initial Mappings are: {4=15, Geeks=20, You=30, Welcomes=25}
The cloned map look like this: {Geeks=20, 4=15, You=30, Welcomes=25}

 

Note: 

  • The same operation can be performed with any type of mappings with variation and combination of different data types.
  • clone() method does the shallow copy. But here the values in the original and cloned hashmap will not affect each other because primitive data type is used.

Article Tags :