Java IdentityHashMap clone() 方法



描述

Java IdentityHashMap clone() 方法用于返回此身份哈希映射的浅拷贝。

声明

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

public Object clone()

参数

返回值

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

异常

获取整数、整数对 IdentityHashMap 的克隆示例

以下示例演示了使用 Java IdentityHashMap clone() 方法获取映射的浅拷贝。我们创建了两个整数、整数对的映射对象。然后向一个映射中添加了一些条目,使用 clone() 方法填充另一个映射,然后打印这两个映射。

package com.tutorialspoint;

import java.util.IdentityHashMap;

public class IdentityHashMapDemo {
   public static void main(String args[]) {
      
      // create two hash maps
      IdentityHashMap<Integer, Integer> newmap1 = new IdentityHashMap<>();
      IdentityHashMap<Integer, Integer> newmap2 = new IdentityHashMap<>();

      // populate 1st map
      newmap1.put(1, 1);
      newmap1.put(2, 1);
      newmap1.put(3, 1); 

      // clone 1st map
      newmap2 = (IdentityHashMap)newmap1.clone();

      System.out.println("1st Map: " + newmap1);
      System.out.println("Cloned 2nd Map: " + newmap2);   
   }    
}

输出

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

1st Map: {2=1, 3=1, 1=1}
Cloned 2nd Map: {2=1, 3=1, 1=1}

获取整数、字符串对 IdentityHashMap 的克隆示例

以下示例演示了使用 Java IdentityHashMap clone() 方法获取映射的浅拷贝。我们创建了两个整数、字符串对的映射对象。然后向一个映射中添加了一些条目,使用 clone() 方法填充另一个映射,然后打印这两个映射。

package com.tutorialspoint;

import java.util.IdentityHashMap;

public class IdentityHashMapDemo {
   public static void main(String args[]) {
      
      // create two hash maps
      IdentityHashMap<Integer, String> newmap1 = new IdentityHashMap<>();
      IdentityHashMap<Integer, String> newmap2 = new IdentityHashMap<>();

      // populate 1st map
      newmap1.put(1, "A");
      newmap1.put(2, "B");
      newmap1.put(3, "C"); 

      // clone 1st map
      newmap2 = (IdentityHashMap)newmap1.clone();

      System.out.println("1st Map: " + newmap1);
      System.out.println("Cloned 2nd Map: " + newmap2);   
   }    
}

输出

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

1st Map: {2=B, 3=C, 1=A}
Cloned 2nd Map: {2=B, 3=C, 1=A}

获取整数、对象对 IdentityHashMap 的克隆示例

以下示例演示了使用 Java IdentityHashMap clone() 方法获取映射的浅拷贝。我们创建了两个整数、学生对的映射对象。然后向一个映射中添加了一些条目,使用 clone() 方法填充另一个映射,然后打印这两个映射。

package com.tutorialspoint;

import java.util.IdentityHashMap;

public class IdentityHashMapDemo {
   public static void main(String args[]) {
      
      // create two hash maps
      IdentityHashMap<Integer, Student> newmap1 = new IdentityHashMap<>();
      IdentityHashMap<Integer, Student> newmap2 = new IdentityHashMap<>();

      // populate hash map
      newmap1.put(1, new Student(1, "Julie"));
      newmap1.put(2, new Student(2, "Robert"));
      newmap1.put(3, new Student(3, "Adam"));

      // clone 1st map
      newmap2 = (IdentityHashMap)newmap1.clone();

      System.out.println("1st Map: " + newmap1);
      System.out.println("Cloned 2nd Map: " + newmap2);   
   }    
}
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 + " ]";
   }
}

输出

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

1st Map: {1=[ 1, Julie ], 3=[ 3, Adam ], 2=[ 2, Robert ]}
Cloned 2nd Map: {1=[ 1, Julie ], 3=[ 3, Adam ], 2=[ 2, Robert ]}
java_util_identityhashmap.htm
广告