Méthode clone() de Java HashMap
La méthode clone() est utilisée pour copier un hashMap, ce qui est une copie superficielle.
Extension :
Une copie superficielle ne copie que le pointeur vers un objet, pas l'objet lui-même. Les nouveaux et anciens objets partagent toujours la même mémoire, doncsi l'un des objets modifie cette adresse, cela affectera l'autre objet.。。
Le pendant de la copie superficielle est la copie profonde. La copie profonde copie complètement un objet depuis la mémoire, ouvre une nouvelle zone dans la mémoire tas pour stocker le nouvel objet, etmodifier le nouvel objet n'affectera pas l'objet d'origine.。
La syntaxe de la méthode clone() est :
hashmap.clone()
Remarque :hashmap est un objet de la classe HashMap.
Description des paramètres :
- Aucune
Valeur de retour
Renvoie une copie de l'instance HashMap (objet).
Exemple
L'exemple suivant montre l'utilisation de la méthode clone() :
Exemple
class Main {
public static void main(String[] args) {
HashMap<Integer, String> sites = new HashMap<>();
sites.put(1, "Google");
sites.put(2, "Example");
sites.put(3, "Taobao");
System.out.println("HashMap: " + sites);
// Copier sites
HashMap<Integer, String> cloneSites = (HashMap<Integer, String>)sites.clone();
System.out.println("Cloned HashMap: " + cloneSites);
}
}
La sortie de l'exécution du programme ci-dessus est :
HashMap: {1=Google, 2=Example, 3=Taobao}
Cloned HashMap: {1=Google, 2=Example, 3=Taobao}
Dans l'exemple ci-dessus, nous avons créé un HashMap nommé sites, puis avons utilisé la méthode clone() dans le code pour copier un duplicata de sites.
Remarquez l'expression :
(HashMap<Integer, String>)sites.clone();
- sites.clone() - renvoie l'objet sites copié
- (HashMap<Integer, String>) convertit l'objet renvoyé en un HashMap, où ses clés sont de type Integer et ses valeurs de type String.
La valeur de retour de la méthode clone() :
Exemple
class Main {
public static void main(String[] args){
// Créer un hashmap
HashMap<String, Integer> primeNumbers = new HashMap<>();
primeNumbers.put("Two", 2);
primeNumbers.put("Three", 3);
primeNumbers.put("Five", 5);
System.out.println("Nombres : " + primeNumbers);
// Afficher la valeur de retour de la méthode clone()
System.out.println("Valeur de retour de clone() : " + primeNumbers.clone());
}
}
La sortie de l'exécution du programme ci-dessus est :
Prime Numbers: {Five=5, Two=2, Three=3}
Return value of clone(): {Five=5, Two=2, Three=3}
Dans l'exemple ci-dessus, nous avons créé un HashMap nommé primeNumbers, et la sortie est la valeur de retour de la méthode clone().
Remarque :La méthode clone() n'est pas spécifique à la classe HashMap ; toute classe qui implémente l'interface Cloneable peut utiliser la méthode clone().
Autres extensions
Java HashMap