The java.util.WeakHashMap.putAll() is an inbuilt method of WeakHashMap class that is used for the copy operation. The method copies all of the elements i.e., the mappings, from one map into another.
Syntax:
new_weakhash_map.putAll(exist_weakhash_map)
Parameters: The method takes one parameter exist_weakhash_map that refers to the existing map we want to copy from.
Return Value: The method does not return any values.
Exception: The method throws NullPointerException if the map we want to copy from is NULL.
Below programs illustrates the working of java.util.WeakHashMap.putAll() method:
Program 1: Mapping String Values to Integer Keys.
// Java code to illustrate the putAll() methodimport java.util.*;  public class Weak_Hash_Map_Demo {    public static void main(String[] args)    {          // Creating an empty WeakHashMap        Map<Integer, String> weak_hash = new                       WeakHashMap<Integer, String>();          // Mapping string values to int keys        weak_hash.put(10, "Geeks");        weak_hash.put(15, "4");        weak_hash.put(20, "Geeks");        weak_hash.put(25, "Welcomes");        weak_hash.put(30, "You");          // Displaying the WeakHashMap        System.out.println("Initial Mappings are: " +                                            weak_hash);          // Creating a new weakhash map and copying        Map<Integer, String> new_weakhash_map = new                         WeakHashMap<Integer, String>();        new_weakhash_map.putAll(weak_hash);          // Displaying the final WeakHashMap        System.out.println("The new map: " +                                     new_weakhash_map);    }} |
Initial Mappings are: {30=You, 15=4, 10=Geeks, 25=Welcomes, 20=Geeks}
The new map: {15=4, 30=You, 10=Geeks, 25=Welcomes, 20=Geeks}
Program 2: Mapping Integer Values to String Keys.
// Java code to illustrate the putAll() methodimport java.util.*;  public class WeakHash_Map_Demo {    public static void main(String[] args)    {          // Creating an empty WeakHashMap        Map<String, Integer> weak_hash = new                       WeakHashMap<String, Integer>();          // Mapping int values to string keys        weak_hash.put("Geeks", 10);        weak_hash.put("4", 15);        weak_hash.put("Geeks", 20);        weak_hash.put("Welcomes", 25);        weak_hash.put("You", 30);          // Displaying the WeakHashMap        System.out.println("Initial Mappings are: " +                                           weak_hash);          // Creating a new weakhash map and copying        Map<String, Integer> new_weakhash_map = new                       WeakHashMap<String, Integer>();        new_weakhash_map.putAll(weak_hash);          // Displaying the final WeakHashMap        System.out.println("The new map: " +                                    new_weakhash_map);    }} |
Initial Mappings are: {Welcomes=25, 4=15, You=30, Geeks=20}
The new map: {Welcomes=25, 4=15, You=30, Geeks=20}
Note: The same operation can be performed with any type of Mappings with variation and combination of different data types.
