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