Metoda clone () Java HashMap vytvoří mělkou kopii hashmapy a vrátí ji.
Tady mělká kopie znamená, že klíče a hodnoty nejsou kopírovány. Místo toho jsou zkopírovány odkazy na klíče / hodnoty. Další informace o mělké kopii najdete v mělké kopii Java.
Syntaxe clone()
metody je:
hashmap.clone()
Zde je hashmap objekt HashMap
třídy.
parametry clone ()
clone()
Metoda nebere žádné parametry.
clone () návratová hodnota
- vrací kopii
HashMap
instancí (objektů)
Příklad 1: Vytvořte kopii 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); ) )
Výstup
HashMap: (Java = 14, JavaScript = 1, Python = 3) Klonovaná HashMap: (Java = 14, JavaScript = 1, Python = 3)
Ve výše uvedeném příkladu jsme vytvořili hashmapu pojmenovanou jazyky. Všimněte si výrazu,
(HashMap)languages.clone()
Tady,
languages.clone()
- vrátí kopii jazyků objektů(HashMap)
- převede objekt vrácenýclone()
do na hashmapuString
typového klíče aInteger
hodnot typu (Další informace najdete v Java Typecastingu)
Příklad 2: Tisk návratové hodnoty klonu ()
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()); ) )
Výstup
Prvočísla: (Pět = 5, Dva = 2, Tři = 3) Návratová hodnota klonu (): (Pět = 5, Dva = 2, Tři = 3)
Ve výše uvedeném příkladu jsme vytvořili hashmapu s názvem primeNumbers. Zde jsme vytiskli hodnotu vrácenou clone()
.
Poznámka : clone()
Metoda není pro HashMap
třídu specifická . Metodu Clonable
může použít jakákoli třída, která implementuje rozhraní clone()
.