Método HashMap clone() en Java

Aclaremos el concepto básico de copia superficial y copia profunda en Java . La repetición superficial es más rápida. Sin embargo, es «perezoso» porque maneja punteros y referencias. En lugar de crear una copia contemporánea del conocimiento particular al que apunta el puntero, simplemente copia sobre el precio del puntero. Entonces, tanto el primero como la copia pueden tener punteros que hacen referencia al conocimiento subyacente constante. Por otro lado, la copia profunda o la repetición profunda realmente clonan los datos subyacentes. No se comparte entre el primero y por lo tanto la copia.

El método java.util.HashMap.clone() está presente dentro del paquete java.util que generalmente se usa para devolver una copia superficial del mapa hash mencionado. Simplemente crea una copia del mapa.

Sintaxis: 

Hash_Map.clone()

Parámetros: El método no toma ningún parámetro.

Valor de retorno: el método solo devuelve una copia de HashMap. 

Ejemplo 1:

Java

// Java Program to Illustrate the clone() Method by
// Mapping String Values to Integer Keys
  
// Importing utility classes
import java.util.*;
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
  
        // Creating an empty HashMap
        HashMap<Integer, String> hash_map
            = new HashMap<Integer, String>();
  
        // Mapping string values to int keys
        // Using put() method
  
        // Custom input values passed as arguments
        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");
  
        // Print and display the HashMap
        System.out.println("Initial Mappings are: "
                           + hash_map);
  
        // Print and display the cloned HashMap
        // using clone() method
        System.out.println("The cloned map look like this: "
                           + hash_map.clone());
    }
}
Producción: 

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}

 

Ejemplo 2:

Java

// Java code to illustrate the clone() method by
// Mapping Integer Values to String Keys
  
// Importing utility classes
import java.util.*;
  
// Main class
public class GFG {
  
    // Main driver method
    public static void main(String[] args)
    {
        // Creating an empty HashMap
        // Declaring objects of type integer and string
        HashMap<String, Integer> hash_map
            = new HashMap<String, Integer>();
  
        // Mapping int values to string keys
        // using put() method
        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);
  
        // Print and display the HashMap
        System.out.println("Initial Mappings are: "
                           + hash_map);
  
        // Print and display the cloned HashMap
        // using clone() method
        System.out.println("The cloned map look like this: "
                           + hash_map.clone());
    }
}
Producción: 

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}

 

Nota: 

  • La misma operación se puede realizar con cualquier tipo de mapeo con variación y combinación de diferentes tipos de datos.
  • El método clone() hace la copia superficial. Pero aquí los valores en el hashmap original y clonado no se afectarán entre sí porque se usa un tipo de datos primitivo.

Publicación traducida automáticamente

Artículo escrito por Chinmoy Lenka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *