O método clone () do Java HashMap faz a cópia superficial do hashmap e a retorna.
Aqui, a cópia superficial significa que as chaves e os valores não são copiados. Em vez disso, as referências a chaves / valores são copiadas. Para saber mais sobre a cópia superficial, visite Java Shallow Copy.
A sintaxe do clone()
método é:
hashmap.clone()
Aqui, hashmap é um objeto da HashMap
classe.
Parâmetros clone ()
O clone()
método não leva nenhum parâmetro.
clone () Valor de Retorno
- retorna uma cópia das
HashMap
instâncias (objetos)
Exemplo 1: Faça uma cópia do HashMap
import java.util.HashMap; class Main ( public static void main(String() args)( // create HashMap HashMap languages = new HashMap(); languages.put("Java", 14); languages.put("Python", 3); languages.put("JavaScript", 1); System.out.println("HashMap: " + languages); // create copy of languages HashMap cloneLanguages = (HashMap)languages.clone(); System.out.println("Cloned HashMap: " + cloneLanguages); ) )
Resultado
HashMap: (Java = 14, JavaScript = 1, Python = 3) HashMap clonado: (Java = 14, JavaScript = 1, Python = 3)
No exemplo acima, criamos um hashmap denominado linguagens. Observe a expressão,
(HashMap)languages.clone()
Aqui,
languages.clone()
- retorna uma cópia das linguagens do objeto(HashMap)
- converte o objeto retornado porclone()
em um hashmap deString
chave de tipo eInteger
valores de tipo (para saber mais, visite Java Typecasting)
Exemplo 2: Imprimir o valor de retorno de clone ()
import java.util.HashMap; class Main ( public static void main(String() args)( // create a hashmap HashMap primeNumbers = new HashMap(); primeNumbers.put("Two", 2); primeNumbers.put("Three", 3); primeNumbers.put("Five", 5); System.out.println("Numbers: " + primeNumbers); // print the return value of clone() System.out.println("Return value of clone(): " + primeNumbers.clone()); ) )
Resultado
Números Primos: (Cinco = 5, Dois = 2, Três = 3) Valor de retorno do clone (): (Cinco = 5, Dois = 2, Três = 3)
No exemplo acima, criamos um hashmap denominado primeNumbers. Aqui, imprimimos o valor retornado por clone()
.
Nota : o clone()
método não é específico para a HashMap
classe. Qualquer classe que implemente a Clonable
interface pode usar o clone()
método.