Java HashMap -klooni () -menetelmä tekee hashmapin matalan kopion ja palauttaa sen.
Tässä matala kopio tarkoittaa, että avaimia ja arvoja ei kopioida. Sen sijaan kopioidaan viitteet avaimiin / arvoihin. Lisätietoja matalasta kopiosta on Java Shallow Copy -sivulla.
Menetelmän syntaksi clone()
on:
hashmap.clone()
Tässä hashmap on HashMap
luokan kohde.
klooni () -parametrit
clone()
Menetelmä ei ota parametreja.
klooni () palautusarvo
- palauttaa kopion
HashMap
instansseista (objekteista)
Esimerkki 1: Tee kopio HashMapista
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); ) )
Tuotos
HashMap: (Java = 14, JavaScript = 1, Python = 3) Kloonattu HashMap: (Java = 14, JavaScript = 1, Python = 3)
Yllä olevassa esimerkissä olemme luoneet hashmap-nimiset kielet. Huomaa ilmaisu,
(HashMap)languages.clone()
Tässä,
languages.clone()
- palauttaa kopion objektikielistä(HashMap)
- muuntaa palauttaman objektin tyypin avaimen ja tyypin arvojenclone()
hashmapiksi (Lisätietoja on Java Typecastingissa)String
Integer
Esimerkki 2: Tulosta kloonin () palautusarvo
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()); ) )
Tuotos
Pääluvut: (viisi = 5, kaksi = 2, kolme = 3) kloonin palautusarvo (): (viisi = 5, kaksi = 2, kolme = 3)
Yllä olevassa esimerkissä olemme luoneet hashmap-nimisen primeNumbers. Tässä olemme tulostaneet palauttamasi arvon clone()
.
Huomaa : clone()
Menetelmä ei ole ominainen HashMap
luokalle. Mikä tahansa luokka, joka toteuttaa Clonable
rajapinnan, voi käyttää clone()
menetelmää.