Java.util.TreeMap.put() and putAll() in Java

The insertion in TreeMap are handled using the variants of the put functions. There are two variants of put() in Java.util.TreeMap, both are discussed in this article.

1. put() : It associates the specified value with the specified key in the map. If a key is already present, then updating it results in updation of that key.

Parameters:
key : The key with which the value is to be associated.
value : The value to be associated with the given key.
Return Value:
It returns the previously associated value with this key,
or null if there was no mapping for key.
Exception:
Not Available.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code demonstrating the working
// of put()
import java.io.*;
import java.util.*;
public class Put {
    public static void main(String[] args)
    {
  
        // Declaring the tree map of Integer and String
        TreeMap<String, Integer> tmp = new TreeMap<String, Integer>();
  
        // assigning the values in the tree map
        // using put()
        tmp.put("one", 1);
        tmp.put("two", 3);
  
        // Printing initial TreeMap
        System.out.println("The initial TreeMap is : " + tmp);
  
        // Putting value at key two
        // replaces the previous value if present
        int z = tmp.put("two", 2);
  
        // checking the previous value associated with "two"
        System.out.println("The previous value with two is : " + z);
  
        // prints the complete map
        System.out.println("Updated TreeMap is : " + tmp);
    }
}

chevron_right


Output:

The initial TreeMap is : {one=1, two=3}
The previous value with two is : 3
Updated TreeMap is : {one=1, two=2}

2. putAll() : It copies all of the mappings from the specified map to the given map and overwrites in case of repeated key.



Parameters:
map : The mappings to be stored.
Return Value:
Not Available.
Exception:
NullPointerException : Thrown if specified map is null,
specified map contains a null key.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to demonstrate the working
// of putAll()
import java.io.*;
import java.util.*;
public class putAll {
    public static void main(String[] args)
    {
  
        // Declaring the tree maps of Integer and String
        TreeMap<String, Integer> tmp1 = new TreeMap<String, Integer>();
        TreeMap<String, Integer> tmp2 = new TreeMap<String, Integer>();
  
        // assigning the values in the tree map
        // using put()
        tmp1.put("two", 3);
        tmp1.put("one", 1);
  
        // assigning in 2nd TreeMap
        tmp2.put("three", 3);
        tmp2.put("two", 2);
  
        System.out.println("First treemap values are : " + tmp1);
  
        // use of putAll()
        // Putting 2nd map in 1st map
        tmp1.putAll(tmp2);
  
        System.out.println("Values after modifying 1st treemap : " + tmp1);
    }
}

chevron_right


Output:

First treemap values are : {one=1, two=3}
Values after modifying 1st treemap : {one=1, three=3, two=2}

Exception

Null Pointer Exception : Occurs if the map contains a null key or it is null in putAll().

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to demonstrate the Exception
// of putAll()
import java.io.*;
import java.util.*;
public class putAll {
    public static void main(String[] args)
    {
  
        // Declaring the tree maps of Integer and String
        TreeMap<String, Integer> tmp1 = new TreeMap<String, Integer>();
        TreeMap<String, Integer> tmp2 = new TreeMap<String, Integer>();
  
        // assigning the values in the tree map
        // using put()
        tmp1.put("two", 3);
        tmp1.put("one", 1);
  
        // assigning in 2nd TreeMap
        tmp2.put("three", 3);
        tmp2.put(null, 2);
  
        System.out.println("First treemap values are : " + tmp1);
  
        // use of putAll()
        // Putting 2nd map in 1st map
        tmp1.putAll(tmp2);
  
        System.out.println("Values after modifying 1st treemap : " + tmp1);
    }
}

chevron_right


Runtime Error :

Exception in thread "main" java.lang.NullPointerException
    at java.util.TreeMap.put(TreeMap.java:563)
    at putAll.main(putAll.java:21)

Practical Application : This function has the to store values and update them if we need. This kind of functionality is mainly useful in the directories and dictionaries or records. A small code below explains the combining databases to get updated score in a game.

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java code to demonstrate the Application
// of putAll()
import java.io.*;
import java.util.*;
public class putAllAppli {
    public static void main(String[] args)
    {
  
        // Declaring the tree maps of Integer and String
        TreeMap<String, Integer> Score1 = new TreeMap<String, Integer>();
        TreeMap<String, Integer> Score2 = new TreeMap<String, Integer>();
  
        // Assigning Scores at Drinks break
        Score1.put("Sachin", 40);
        Score1.put("Rahul", 32);
        Score1.put("Dhoni", 68);
  
        System.out.println("The scores till Drinks break are : " + Score1);
  
        // Assigning Scores at Lunch
        Score2.put("Rahul", 67);
        Score2.put("Dhoni", 102);
        Score2.put("Raina", 10);
  
        System.out.println("The scores at Lunch : " + Score2);
  
        // use of putAll()
        // Getting net score board
        Score1.putAll(Score2);
  
        System.out.println("Net scorecard is : " + Score1);
    }
}

chevron_right


Output:

The scores till Drinks break are : {Dhoni=68, Rahul=32, Sachin=40}
The scores at Lunch : {Dhoni=102, Rahul=67, Raina=10}
Net scorecard is : {Dhoni=102, Rahul=67, Raina=10, Sachin=40}

This article is contributed by Shambhavi Singh. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.