Java TreeMap clone() Method



Description

The Java TreeMap clone() method is used to return a shallow copy of this TreeMap instance. But the keys and values themselves are not cloned.

Declaration

Following is the declaration for java.util.TreeMap.clone() method.

public Object clone()

Parameters

NA

Return Value

The method call returns a shallow copy of this map.

Exception

NA

Cloning a TreeMap of Integer,Integer Pairs Example

The following example shows the usage of Java TreeMap clone() method to get a clone of the map. We've created two TreeMap objects of Integer,Integer pairs. Then few entries are added to first map and using clone() we're creating the clone of the map and then both maps are printed to verify their same contents.

package com.tutorialspoint;

import java.util.TreeMap;

public class TreeMapDemo {
   public static void main(String[] args) {
      
      // creating tree map 
      TreeMap<Integer, Integer> treemap = new TreeMap<>();
      TreeMap<Integer, Integer> treemapclone = new TreeMap<>();

      // populating tree map
      treemap.put(2, 2);
      treemap.put(1, 1);
      treemap.put(3, 3);
      treemap.put(6, 6);
      treemap.put(5, 5);
         
      // cloning tree map
      System.out.println("Cloning tree map");
      treemapclone = (TreeMap)treemap.clone();

      System.out.println("Original map: "+ treemap);
      System.out.println("Cloned map: "+ treemapclone);
   }    
}

Output

Let us compile and run the above program, this will produce the following result.

Cloning tree map
Original map: {1=1, 2=2, 3=3, 5=5, 6=6}
Cloned map: {1=1, 2=2, 3=3, 5=5, 6=6}

Cloning a TreeMap of Integer,String Pairs Example

The following example shows the usage of Java TreeMap clone() method to get a clone of the map. We've created two TreeMap objects of Integer,String pairs. Then few entries are added to first map and using clone() we're creating the clone of the map and then both maps are printed to verify their same contents.

package com.tutorialspoint;

import java.util.TreeMap;

public class TreeMapDemo {
   public static void main(String[] args) {
      
      // creating tree map 
      TreeMap<Integer, String> treemap = new TreeMap<>();
      TreeMap<Integer, String> treemapclone = new TreeMap<>();

      // populating tree map
      treemap.put(2, "two");
      treemap.put(1, "one");
      treemap.put(3, "three");
      treemap.put(6, "six");
      treemap.put(5, "five");
         
      // cloning tree map
      System.out.println("Cloning tree map");
      treemapclone = (TreeMap)treemap.clone();

      System.out.println("Original map: "+ treemap);
      System.out.println("Cloned map: "+ treemapclone);
   }    
}

Output

Let us compile and run the above program, this will produce the following result.

Cloning tree map
Original map: {1=one, 2=two, 3=three, 5=five, 6=six}
Cloned map: {1=one, 2=two, 3=three, 5=five, 6=six}

Cloning a TreeMap of Integer,Object Pairs Example

The following example shows the usage of Java TreeMap clone() method to get a clone of the map. We've created two TreeMap objects of Integer,Student pairs. Then few entries are added to first map and using clone() we're creating the clone of the map and then both maps are printed to verify their same contents.

package com.tutorialspoint;

import java.util.TreeMap;

public class TreeMapDemo {
   public static void main(String[] args) {
      
      // creating tree map 
      TreeMap<Integer, Student> treemap = new TreeMap<>();
      TreeMap<Integer, Student> treemapclone = new TreeMap<>();

      // populating tree map
      treemap.put(2, new Student(2, "Robert"));
      treemap.put(1, new Student(1, "Julie"));  
      treemap.put(3, new Student(3, "Adam"));
      treemap.put(6, new Student(6, "Julia"));
      treemap.put(5, new Student(5, "Tom"));
         
      // cloning tree map
      System.out.println("Cloning tree map");
      treemapclone = (TreeMap)treemap.clone();

      System.out.println("Original map: "+ treemap);
      System.out.println("Cloned map: "+ treemapclone);
   }    
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   @Override
   public boolean equals(Object obj) {
      if(obj == null) return false;
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

Output

Let us compile and run the above program, this will produce the following result.

Cloning tree map
Original map: {1=[ 1, Julie ], 2=[ 2, Robert ], 3=[ 3, Adam ], 5=[ 5, Tom ], 6=[ 6, Julia ]}
Cloned map: {1=[ 1, Julie ], 2=[ 2, Robert ], 3=[ 3, Adam ], 5=[ 5, Tom ], 6=[ 6, Julia ]}
java_util_treemap.htm
Advertisements