Java中的HashMap clone()方法

Java中的HashMap clone()方法

让我们清楚地搞清楚在java中的浅拷贝和深拷贝的基本概念。浅拷贝更快。 但是,它是“懒惰的”,因为它处理指针和引用。 而不是创建指针指向的特定数据的现代副本,它仅仅复制指针的值。 因此,第一项和副本都将具有引用相同基础数据的指针。 另一方面,深拷贝实际上复制了基础数据。 它不会在第一次和副本之间共享。

java.util.HashMap.clone()方法位于java.util包中,通常用于返回所提到的哈希映射的浅拷贝。 它只是创建地图的副本。

Java中的HashMap clone()方法

语法:

Hash_Map.clone()

参数: 该方法不带任何参数。

返回值: 该方法只返回HashMap的副本。

示例1:

// Java程序通过将字符串值映射到整数键来说明clone()方法  
// 导入实用程序类
import java.util.*;
  
// 主要类
public class GFG {
  
    // 主要驱动程序方法
    public static void main(String[] args)
    {
        // 创建一个空HashMap
        HashMap<Integer, String> hash_map
            = new HashMap<Integer, String>();
  
        // 使用put()方法将字符串值映射到整数键
        // 传递自定义输入值作为参数
        hash_map.put(10, "Geeks");
        hash_map.put(15, "4");
        hash_map.put(20, "Geeks");
        hash_map.put(25, "Welcomes");
        hash_map.put(30, "You");
  
        // 打印和显示HashMap
        System.out.println("Initial Mappings are: "
                           + hash_map);
  
        // 使用clone()方法打印和显示克隆的HashMap
        System.out.println("The cloned map look like this: "
                           + hash_map.clone());
    }
}

输出:

Initial Mappings are: {20=Geeks, 25=Welcomes, 10=Geeks, 30=You, 15=4}
The cloned map look like this: {25=Welcomes, 10=Geeks, 20=Geeks, 30=You, 15=4}

示例2:

// Java代码通过将整数值映射到字符串键来说明克隆()方法  
// 导入实用程序类
import java.util.*;
  
// 主要类
public class GFG {
  
    // 主要驱动程序方法
    public static void main(String[] args)
    {
        // 创建一个空HashMap
        // 声明整数和字符串类型的对象
        HashMap<String, Integer> hash_map
            = new HashMap<String, Integer>();
  
        // 使用put()方法将int值映射到字符串键
        hash_map.put("Geeks", 10);
        hash_map.put("4", 15);
        hash_map.put("Geeks", 20);
        hash_map.put("Welcomes",25);
        hash_map.put("You", 30);

        // 打印和显示HashMap
        System.out.println("Initial Mappings are: "
                           + hash_map);

        //使用clone()方法打印和显示克隆的HashMap
        System.out.println("The cloned map look like this: "
                           + hash_map.clone());
    }
}

输出:

Initial Mappings are: {4=15, Geeks=20, You=30, Welcomes=25}
The cloned map look like this: {Geeks=20, 4=15, You=30, Welcomes=25}

注意:

  • 相同的操作可以使用各种类型的映射进行,在不同的数据类型的变化和组合中进行。
  • clone()方法执行浅复制。 但是在这里,原始哈希图中的值和克隆哈希图中的值不会互相影响,因为使用了原始数据类型。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程