Satura rādītājs
Kad esat apguvis jēdzienus masīvs un kā to aizpildīt un kā to iziet, mums noteikti arī būs jārada masīvu kopijas, jo daudzas reizes mums būs jāapstrādā minētā masīva saturs, nemainot oriģinālu, ko izmantosim citiem mērķiem.Lai gan kopēšana var šķist ļoti vienkārša darbība, tā patiešām ir nedaudz sarežģītāka nekā masīva vērtība uz citu šāda veida deklarēto mainīgo.
Masīvu kopēšana
Mūsu programmu loģikas ietvaros mums, iespējams, kādā brīdī tas būs vajadzīgs kopēt masīvu uz citu mainīgoLai varētu strādāt ar elementiem citā programmas instancē, kā jau minējām sākumā, mainīgā, kas satur masīvu, piešķiršana citam nav piemērots risinājums.
Pieņemsim, ka uzdevumu veicam šādi:
varArrar2 = varArray1;
Šajā gadījumā nav sintaktiskas kļūdas, tāpēc instrukcija darbojas bez problēmām, pat ja mēs mēģinām atkārtot varArray2 mēs iegūsim vērtības, kuras mēs zinām varArray1, jūs domājat, kur tad ir problēma, problēma ir tā, ka šajā instrukcijā jūs darījāt Java bija nokopēt atsauci uz pirmā masīva saturu, tādēļ, ja mēs veiksim izmaiņas kādā no abiem, izmaiņas redzēs abi.
Kā redzam, šī nav ļoti efektīva metode, ja vien mēs nevēlamies efektīvi nokopēt atsauci.
Pareiza masīva kopēšanas metodeIr vairāki veidi, kā veikt masīva kopija, izmantojot cilpu, kas iet caur pirmo masīvu, un piešķirot vērtības otrajam, izmantojot statiskās masīvkopijas metode kas ir ietverts klasē Sistēma un beidzot izmantojot klona metodeTomēr pēdējais ir nedaudz progresīvāks nekā tas, ko mēs šeit redzam.
Cilpas izmantošana
Šī ir visvienkāršākā metode, lai gan tā ir nedaudz darbietilpīga, tā pareizi izpilda mērķi un ļauj mums iegūt jaunu masīvu, kas būtu oriģināla kopija un no tā pilnīgi neatkarīgs, lai izveidotu šo kopiju, uz kuru mēs gatavojamies rīkojieties šādi:
int [] varArray1 = {2, 3, 1, 5, 10}; int [] varArray2 = jauns int [varArray1.length]; par (int i = 0; i <varArray1.length; i ++) {varArray2 [i] = varArray1 [i]; }
Kā redzam, tas ir kaut kas ļoti vienkāršs, mums ir savs pirmais masīvs ar vairākām vērtībām, kas jau ir piešķirtas tā saturā, mēs izveidojam a otrais masīvs un mēs norādām, ka tā izmērs būs sākotnējā masīva garums un visbeidzot ar a cilpai mēs savam jaunajam masīvam piešķiram vērtību, kas atbilst pirmā masīva cikla pozīcijai.
Izmantojot masu kopijas metodi
Vienkāršāks veids, kas izmanto nedaudz mazāk koda, ir statiskā metode masīva, šī metode pārkāpj nosaukšanas konvenciju Java lai gan tas darbojas pareizi, lai to izmantotu, mums jādara šādi:
System.arraycopy (varArray1, varArray1_pos, varArray2, varArray2_pos, garums);
Kā mēs redzam vienā rindā, mēs atrisinām problēmu, metode pirmajā argumentā saņem masīvu, kuru mēs kopēsim, pēc tam tā saņem sākotnējo pozīciju, no kuras mēs kopēsim, un pēc tam kopijas mērķa masīvu , tā sākotnējā pozīcija un visbeidzot kopijas garums:
Visbeidzot, mēs redzējām, ka masīva kopēšana, lai gan tas nav tik vienkārši kā mainīgo piešķiršana, ir salīdzinoši viegls uzdevums, izmantojot šajā apmācībā aprakstītās metodes.Vai jums patika šī apmācība un palīdzējāt tai?Jūs varat apbalvot autoru, nospiežot šo pogu, lai sniegtu viņam pozitīvu punktu