Java TreeMap clone() 方法



描述

Java TreeMap clone() 方法用于返回此 TreeMap 实例的浅拷贝。但是键和值本身不会被克隆。

声明

以下是 java.util.TreeMap.clone() 方法的声明。

public Object clone()

参数

返回值

方法调用返回此映射的浅拷贝。

异常

克隆 Integer,Integer 对的 TreeMap 示例

以下示例演示了如何使用 Java TreeMap clone() 方法获取映射的克隆。我们创建了两个 Integer,Integer 对的 TreeMap 对象。然后向第一个映射中添加了一些条目,并使用 clone() 创建映射的克隆,然后打印两个映射以验证它们的内容相同。

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);
   }    
}

输出

让我们编译并运行上述程序,这将产生以下结果。

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}

克隆 Integer,String 对的 TreeMap 示例

以下示例演示了如何使用 Java TreeMap clone() 方法获取映射的克隆。我们创建了两个 Integer,String 对的 TreeMap 对象。然后向第一个映射中添加了一些条目,并使用 clone() 创建映射的克隆,然后打印两个映射以验证它们的内容相同。

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);
   }    
}

输出

让我们编译并运行上述程序,这将产生以下结果。

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}

克隆 Integer,Object 对的 TreeMap 示例

以下示例演示了如何使用 Java TreeMap clone() 方法获取映射的克隆。我们创建了两个 Integer,Student 对的 TreeMap 对象。然后向第一个映射中添加了一些条目,并使用 clone() 创建映射的克隆,然后打印两个映射以验证它们的内容相同。

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);
   }
}

输出

让我们编译并运行上述程序,这将产生以下结果。

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
广告