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 HashMaptřídy.
parametry clone ()
clone()Metoda nebere žádné parametry.
clone () návratová hodnota
- vrací kopii
HashMapinstancí (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 hashmapuStringtypového klíče aIntegerhodnot 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 HashMaptřídu specifická . Metodu Clonablemůže použít jakákoli třída, která implementuje rozhraní clone().








