„Java HashMap“ klono () metodas sukuria negilią maišos kopiją ir ją grąžina.
Čia sekli kopija reiškia, kad raktai ir reikšmės nėra nukopijuoti. Vietoj to, nukopijuojamos nuorodos į raktus / reikšmes. Norėdami sužinoti daugiau apie seklią kopiją, apsilankykite „Java Shallow Copy“.
clone()
Metodo sintaksė yra tokia:
hashmap.clone()
Čia hashmap yra klasės objektas HashMap
.
klonas () Parametrai
clone()
Metodas nesiima jokių parametrų.
clone () Return Value
- grąžina
HashMap
egzempliorių (objektų) kopiją
1 pavyzdys: Padarykite „HashMap“ kopiją
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); ) )
Rezultatas
„HashMap“: („Java“ = 14, „JavaScript“ = 1, „Python“ = 3) Klonuotas „HashMap“: („Java“ = 14, „JavaScript“ = 1, „Python“ = 3)
Ankstesniame pavyzdyje mes sukūrėme hashmap pavadinimu kalbos. Atkreipkite dėmesį į išraišką,
(HashMap)languages.clone()
Čia
languages.clone()
- grąžina objektų kalbų kopiją(HashMap)
- konvertuoja objektą, kurį grąžino,clone()
įString
tipo rakto irInteger
tipo reikšmių hashmap (Norėdami sužinoti daugiau, apsilankykite „Java Typecasting“)
2 pavyzdys: atspausdinkite klono () grąžinimo vertę
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()); ) )
Rezultatas
Pirminiai skaičiai: (penki = 5, du = 2, trys = 3) grąžinama klono vertė (): (penki = 5, du = 2, trys = 3)
Ankstesniame pavyzdyje mes sukūrėme hashmap pavadinimu primeNumbers. Čia atspausdinome grąžintą vertę clone()
.
Pastaba : clone()
metodas nėra būdingas HashMap
klasei. Bet kuri Clonable
sąsają įgyvendinanti klasė gali naudoti clone()
metodą.