Masīvs (Eng. masīvs) ir spēcīgs rīks, kas ļauj strādāt ar daudz datu. Protams, ja jūs strādājat kodā kaut vēlaties saglabāt, piemēram, 100 vērtības, tad to vismaz tas ir gudri, lai to pašu vairākiem mainīgajiem. Masīvs ļauj jums saglabāt lielu skaitu vērtību ar tādu pašu nosaukumu un piekļūt tiem atbilstošajā indeksā. Masīvu jēdziens ir Java kursa stūrakmens jau iesācējiem. Galu galā, tie ir pamats daudzām datu struktūrām.
Tā kā Java pirmkārt ir OOP, arsalīdzinot ar citu programmu valodu masīviem, java masīvam ir viena atšķirīga iezīme - tās tiek attēlotas kā objekti. Starp citām priekšrocībām tas novērš vajadzību uzraudzīt atmiņas tīrīšanu, jo tas tiek automātiski atbrīvots.
Vienmodu masīvs tiek attēlots arklasiskais Java masīvs un ir saistītu elementu kopums, kam ir kopīgs nosaukums, un katrs no tiem atbilst konkrētam indeksam. Veids, kā deklarēt masīvu, ir parādīts attēlā.
Pirmkārt, tiek deklarēts Java masīva veids, kuršnosaka tajā saglabāto vērtību tipu. Tas var būt jebkurš derīgs datu tips Java. Nākamais ir masīva nosaukums un kvadrātiekavas, kas norāda kompilatoram, ka šis mainīgais ir masīvs. Pievērsiet uzmanību svarīgam faktam. Kvadrātiekavas var iestatīt gan pēc masīva pamatdatnes, gan pēc masīva nosaukuma. Pēc vienādības zīme norāda operators jauns, uzsākot atmiņas piešķiršanu masīva (tāpat kā gadījumā objektu), tad elementu veidu, kas tajā glabājas (lai būtu saderīgs ar iepriekš deklarēto bāzes veida), un, visbeidzot, skaits , norādīts kvadrātiekavās.
Elementu numerācija Java masīvā sākas ar 0. Tādējādi indekss pirmā elementa masīvs ir vienāds ar 0, bet sestais - 5. Lai atsaukties uz konkrētu masīva elementam, piemēram, piektā, norādiet nosaukumu masīva ir pietiekams, un indekss kvadrātiekavās blakus nosaukumam. Tādējādi jūs varat vai nu piešķirt vērtību kādam elementam, vai arī to izgūt. Tomēr jums vajadzētu būt uzmanīgiem, jo, ja jūs nododat indeksu, kurā nav elementa, rodas kļūda.
Daudzdimensiju masīvi ir sērijasVienas dimensijas, uz kurām atsaucas citu masīvu elementi. Citiem vārdiem sakot, tie ir masīvu masīvi. Vienkāršākais no tiem ir divdimensiju. Piemēram, mēs centīsimies saprast šo jēdzienu. Skaidrības labad zemāk redzamais attēlojums parāda sintaksi un shēmu, kas apraksta divdimensiju masīva struktūru.
Kā redzat, sintakse nav ļoti atšķirīgavienvirziena masīvi. Apskatīsim struktūru. Pirmajās iekavās esam iedalījuši vietu pieciem elementiem. Šie elementi ir nekas vairāk kā atsauces uz atsevišķām masīvām. Katra izmēra lielumu nosaka skaitlis otrajās iekavās. Faktiski matricas ir matemātiski analogi divdimensiju masīviem. Ievērojiet, ka papildus elementiem atmiņā tiek piešķirta atsevišķa vieta, kurā tiek saglabāta masīva garuma vērtība. Kā parasti, darbs ar daudzdimensiju masīviem tiek veikts, izmantojot cilpas.
Divdimensiju masīvs ir masīvu masīvs. Mēs jau esam noskaidrojuši. Bet vai tajā ietilpstošie bloki ir dažādi garumi? Atbilde ir "jā", viņi var. Šim nolūkam Java nodrošina spēju deklarēt divdimensiju masīvu īpašā veidā. Piemēram, mēs vēlamies izveidot divdimensiju masīvu, kurā būtu saglabāti attiecīgi trīs trīsdimensiju masīvi ar garumu 2, 3 un 4. Tiek paziņots sekojoši:
intarr [] [] = newint [3] [];
Lūdzu, ņemiet vērā, ka otrajās iekavās mēs nenorādījām numuru. Formulu masīvu definīcija arr tiek veikta šādi:
arr [0] = jauns int [2];
arr [1] = jauns int [3];
arr [2] = jaunais [4];
Pievērsiet uzmanību elementam zem apakšzīmes 0, norādotpirmajā masīvs, mēs paziņot to dimensijas 2. elementa 1. rādītāju saglabās masīvs dimensijas 3, un tā tālāk. Tas ir diezgan vienkārši.
Varat arī inicializēt masīvus, tos veidojot. Tas ir diezgan vienkārši.
Paziņojiet deklarāciju par jerseyNumber un playerName masīviem.
Divdimensiju masīvu gadījumā šī deklarācija izskatās šādi:
int [] [] arr = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
}
Šim nolūkam, nevis operatoram, jauns,breketes, kurā visu elementu saraksts tiek nodots komatu veidā. Java šajā gadījumā automātiski piešķir tiem atmiņu un attiecīgi indeksē tos.
Darbs ar tādām vienībām kā masīviJava, iepakojumā java.util ir īpašas klases masīvi, kas nodrošina daudz statisku metožu, kas ievērojami atvieglo darbību ar tiem. Pamatmetodu saraksts ir parādīts attēlā.
Apskatīsim dažas no visnoderīgākajām Java masīva metodēm:
- copyOf (masīvs, garums) - atdod kopijupārraidīts atbilstoša garuma masīvs. Ja pārsūtītais garums ir lielāks par oriģinālo masīvu, tad visi papildu elementi ir aizpildīti ar noklusējuma vērtību (0, ja ir vienkāršais tips, un null, ja ir atsauce).
- copyOfRange (masīvs, pirmais indekss, pēdējaisindekss) - nav norādīts attēlā, bet noderīga metode. Tas kopē pārraidīto masīvu daļu, ko nosaka attiecīgie indeksi no pirmās uz pēdējo.
- kārtot (masīvs) - sakārtot masīva elementus augošā secībā.
- fill (masīvs, vērtība) - aizpilda pārraidīto masīvu ar atbilstošu vērtību.
- binarySearch (masīvs, vērtība) - atgriežIndekss, saskaņā ar kuru elements ar atbilstošo vērtību ir pārraidītā šķirotā masīvā. Ja nav šāda elementa, tiek atgriezts negatīvs skaitlis.
Tā kā metodes ir statiskas, jums nav nepieciešams instanciēt masīvu klasi, lai tos piezvanītu. Tos sauc tieši no tā: Arrays.sort (arr).
Mēs izskatījām vissvarīgākos aspektusattiecībā uz masīviem un tiem, kas tikai sāk apgūt Java iesācējiem, tas ir pietiekami, lai pamatzināšanas par šādu vienību kā masīvu un par pamattehnoloģiju, kā to izmantot. Protams, prakse dos lielāku izpratni par šī rīka darbu. Tāpēc neesiet pārāk slinks, lai veiktu dažus vingrinājumus, manipulējot masīvus dažādos veidos.
Papildu klases Java Array tiek izmantots jau "kaujas" apstākļos, tāpēc starteriem ieteicams iemācīties veikt visas pamatdarbības ar masīviem manuāli.
</ p>