Java HashMap clone() 方法



描述

Java HashMap clone() 方法用于返回此 HashMap 实例的浅拷贝。

声明

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

public Object clone()

参数

返回值

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

异常

清除 Integer,Integer 对的 HashMap 示例

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

package com.tutorialspoint;

import java.util.HashMap;

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

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

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

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

输出

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

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

清除 Integer,String 对的 HashMap 示例

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

package com.tutorialspoint;

import java.util.HashMap;

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

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

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

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

输出

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

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

清除 Integer,Student 对的 HashMap 示例

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

package com.tutorialspoint;

import java.util.HashMap;

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

      // 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 = (HashMap)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 ], 2=[ 2, Robert ], 3=[ 3, Adam ]}
Cloned 2nd Map: {1=[ 1, Julie ], 2=[ 2, Robert ], 3=[ 3, Adam ]}
java_util_hashmap.htm
广告