English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
El método clone() de Java HashMap crea una copia superficial de la tabla hash y la devuelve.
Aquí, la copia superficial significa que no se copian las claves y los valores. En su lugar, se copia la referencia a las claves/referencias a valores.
La sintaxis del método clone() es:
hashmap.clone()
El método clone() no tiene parámetros.
Devolver una copia del ejemplo de HashMap (objeto)
import java.util.HashMap; class Main { public static void main(String[] args){ // Crear HashMap HashMap<String, Integer> languages = new HashMap<>(); languages.put("Java", 14); languages.put("Python", 3); languages.put("JavaScript", 1); System.out.println("HashMap: ", + languages); // Crear una copia de languages HashMap<String, Integer> cloneLanguages = (HashMap<String, Integer>)languages.clone(); System.out.println("Copia de HashMap: ", + cloneLanguages); } }
Resultados de salida
HashMap: {Java=14, JavaScript=1, Python=3} Copia de HashMap: {Java=14, JavaScript=1, Python=3}
En el ejemplo anterior, creamos un mapeo hash llamado languages. Nota la expresión
(HashMap<String, Integer>)languages.clone()
Aquí,
languages.clone() - Devolver una copia del objeto languages
(HashMap<String, Integer>) - Convertir el objeto devuelto por clone() a un HashMap con claves de tipo String y valores de tipo Integer (para obtener más información, visiteJava 类型转换)
import java.util.HashMap; class Main { public static void main(String[] args){ // Crear hashmap HashMap<String, Integer> primeNumbers = new HashMap<>(); primeNumbers.put("Two", 2); primeNumbers.put("Three", 3); primeNumbers.put("Five", 5); System.out.println("Numbers: " + primeNumbers); //Imprimir el valor de retorno de clone() System.out.println("El valor de retorno de clone(): " + primeNumbers.clone()); } }
Resultados de salida
Prime Numbers: {Five=5, Two=2, Three=3} El valor de retorno de clone(): {Five=5, Two=2, Three=3}
En el ejemplo anterior, creamos un mapeo hash llamado primeNumbers. Aquí, imprimimos el valor devuelto por clone().
AtenciónEl método :clone() no es específico de la clase HashMap. Cualquier clase que implemente la interfaz Clonable puede usar el método clone().