Método HashMap clone() em Java
Vamos esclarecer o conceito básico de cópia superficial e cópia profunda em java . A repetição superficial é mais rápida. No entanto, é “preguiçoso” ele lida com ponteiros e referências. Em vez de criar uma cópia contemporânea do conhecimento específico para o qual o ponteiro aponta, ele simplesmente copia o preço do ponteiro. Portanto, cada um o primeiro e, portanto, a cópia pode ter ponteiros que fazem referência ao conhecimento subjacente constante. Por outro lado, a cópia profunda ou a repetição profunda realmente clona os dados subjacentes. Não é compartilhado entre o primeiro e, portanto, a cópia.
O método java.util.HashMap.clone() está presente dentro do pacote java.util, que normalmente é usado para retornar uma cópia profunda do mapa hash mencionado. Ele apenas cria uma cópia do mapa.
Sintaxe:
Hash_Map.clone()
Parâmetros: o método não aceita nenhum parâmetro.
Valor de retorno: O método retorna apenas uma cópia do HashMap.
Implementação:
Os programas abaixo são usados para ilustrar o funcionamento do Método java.util.HashMap.clone()
Exemplo 1
// 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());
}
}
Os mapeamentos iniciais são: {20 = Geeks, 25 = Welcome, 10 = Geeks, 30 = You, 15 = 4} O mapa clonado tem esta aparência: {25 = Boas-vindas, 10 = Geeks, 20 = Geeks, 30 = You, 15 = 4}
Exemplo 2
// 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());
}
}
Os mapeamentos iniciais são: {4 = 15, Geeks = 20, You = 30, Welcome = 25} O mapa clonado é parecido com este: {Geeks = 20, 4 = 15, You = 30, Welcome = 25}
Nota: A mesma operação pode ser realizada com qualquer tipo de mapeamento com variação e combinação de diferentes tipos de dados.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva