Java HashMap -klooni ()

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 HashMapluokan kohde.

klooni () -parametrit

clone()Menetelmä ei ota parametreja.

klooni () palautusarvo

  • palauttaa kopion HashMapinstansseista (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 arvojen clone()hashmapiksi (Lisätietoja on Java Typecastingissa)StringInteger

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 HashMapluokalle. Mikä tahansa luokka, joka toteuttaa Clonablerajapinnan, voi käyttää clone()menetelmää.

Mielenkiintoisia artikkeleita...