English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O método clone() do Java HashMap cria uma cópia superficial da tabela hash e a retorna.
Aqui, cópia superficial significa que não se copiam as chaves e os valores. Em vez disso, copiam-se as referências para as chaves/referências de valor.
Sintaxe do método clone():
hashmap.clone()
O método clone() não possui parâmetros.
Retornar cópia da instância (objeto) do HashMap
import java.util.HashMap; class Main { public static void main(String[] args){ // Criar HashMap HashMap<String, Integer> languages = new HashMap<>(); languages.put("Java", 14); languages.put("Python", 3); languages.put("JavaScript", 1); System.out.println("HashMap: ", + languages); // Criar cópia de languages HashMap<String, Integer> cloneLanguages = (HashMap<String, Integer>)languages.clone(); System.out.println("Cópia do HashMap: ", + cloneLanguages); } }
Resultados de Saída
HashMap: {Java=14, JavaScript=1, Python=3} Cópia do HashMap: {Java=14, JavaScript=1, Python=3}
No exemplo acima, criamos um mapeamento hash chamado languages. Observe a expressão
(HashMap<String, Integer>)languages.clone()
Aqui,
languages.clone() - Retornar uma cópia do objeto languages
(HashMap<String, Integer>) - Converter o objeto retornado por clone() para um HashMap com chaves do tipo String e valores do tipo Integer (para obter mais informações, acesseConversão de Tipos Java)
import java.util.HashMap; class Main { public static void main(String[] args){ // Criar hashmap HashMap<String, Integer> primeNumbers = new HashMap<>(); primeNumbers.put("Two", 2); primeNumbers.put("Three", 3); primeNumbers.put("Five", 5); System.out.println("Números: " + primeNumbers); //Imprimir o valor retornado pelo clone() System.out.println("O valor retornado pelo clone(): " + primeNumbers.clone()); } }
Resultados de Saída
Números Primos: {Five=5, Two=2, Three=3} O valor retornado pelo clone(): {Five=5, Two=2, Three=3}
No exemplo acima, criamos um mapeamento hash chamado primeNumbers. Aqui, imprimimos o valor retornado pelo clone().
Atenção:O método clone() não é específico da classe HashMap. Qualquer classe que implemente a interface Clonable pode usar o método clone().