Metoda Java HashMap clone () tworzy płytką kopię hashmap i zwraca ją.
W tym przypadku płytka kopia oznacza, że klucze i wartości nie są kopiowane. Zamiast tego kopiowane są odniesienia do kluczy / wartości. Aby dowiedzieć się więcej o płytkiej kopii, odwiedź stronę Java Shallow Copy.
Składnia clone()
metody to:
hashmap.clone()
Tutaj hashmap jest obiektem tej HashMap
klasy.
clone () Parametry
clone()
Metoda nie ma żadnych parametrów.
clone () Wartość zwracana
- zwraca kopię
HashMap
instancji (obiektów)
Przykład 1: Utwórz kopię 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); ) )
Wynik
HashMap: (Java = 14, JavaScript = 1, Python = 3) Sklonowany HashMap: (Java = 14, JavaScript = 1, Python = 3)
W powyższym przykładzie utworzyliśmy hashmap o nazwie języki. Zwróć uwagę na wyrażenie,
(HashMap)languages.clone()
Tutaj,
languages.clone()
- zwraca kopię języków obiektowych(HashMap)
- konwertuje obiekt zwrócony przezclone()
na hashmapString
kluczaInteger
typu i wartości typu (aby dowiedzieć się więcej, odwiedź Java Typecasting)
Przykład 2: Wydruk wartości zwracanej funkcji 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()); ) )
Wynik
Liczby pierwsze: (pięć = 5, dwa = 2, trzy = 3) Zwracana wartość clone (): (pięć = 5, dwa = 2, trzy = 3)
W powyższym przykładzie utworzyliśmy hashmap o nazwie primeNumbers. Tutaj wypisaliśmy wartość zwróconą przez clone()
.
Uwaga : clone()
metoda nie jest specyficzna dla HashMap
klasy. Każda klasa implementująca Clonable
interfejs może używać tej clone()
metody.