3D-massiivide sissejuhatus Java-sse

Enne Java 3D-massiivide mõistmist peaksime teadma, mis on massiiv ja miks seda programmeerimiskeeltes kasutatakse? Massiivid on põhimõtteliselt sama tüüpi väärtuste rühm, mida nimetatakse sama nimega. Sarnase tüübi all peame silmas sama andmetüübi väärtusi. Mõelge olukorrale, kus tahame talletada kõigi klassi õpilaste nimed. Kuna õpilase nimi on stringi andmetüüp, kuid oleks vale salvestada iga õpilase nime erinevasse muutujasse, kuna see mitte ainult ei võtaks palju ruumi, vaid tekitaks ka programmis segadust, suurendades peaaegu sama koodiread. Seda tüüpi olukordade käsitlemiseks kasutatakse massiive. Programmeerija saab luua massiivi Student_names ja määrata selle suuruse massiivi objekti loomise ajal. Sel moel ei oleks vaja iga õpilase nimele muutuja nime täpsustada ja alati, kui soovime väärtusi värskendada, sisestada ja otsida, saab kasutada selle massiivi indekseid.

Java-s kuulutatakse massiivi muutuja sarnaseks teiste muutujatega, millel on tähis () pärast andmetüüpi. Massiivi suurus tuleb massiivi loomise ajal määratleda ja see jääb samaks. Massiivi elementidele pääseb juurde numbriliste indeksite abil, kusjuures esimene element on salvestatud 0 indeksi juurde. Java-s on põhimõtteliselt kahte tüüpi massiive, st ühemõõtmelisi ja mitmemõõtmelisi massiive. 3D-massiivid kuuluvad mitmemõõtmeliste massiivide kategooriasse. Mitmemõõtmelisi massiive saab lihtsate sõnadega määratleda massiivide massiivina ja 3D-massiive on 2D-massiivide massiivi. 3D on mitmemõõtmeliste massiivide keeruline vorm. Mõelge hoone korterite stsenaariumile. Oletame, et korteris on 10 korrust ja igal korrusel on 5 korterit ja igas korteris on 3 tuba. Nende andmete töötlemiseks programmeerimisel kasutatakse 3D-massiive.

Kuidas defineeritakse 3D-massiive Java-s?

Java kasutab massiivide määratlemiseks väga lihtsat viisi. Massiiviobjekti määratlemiseks pärast massiivi andmetüüpi kasutatakse nurksulge ('()'). Massiivi deklareerimise ajal tuleb määratleda suurus. 3D-massiivid on määratletud kolme sulguga. Allpool on toodud Java 3D-massiivide määratlemise süntaks:

Data_type array_name( ) ( ) ( ) = new array_name(a)(b)(c);

  • Siin data_type: massiivi salvestatavate elementide andmetüüp. massiivi_nimi: massiivi nimi
  • uus: märksõna objekti loomiseks Java-s
  • a, b, c: sisaldab erinevate mõõtmete numbrilisi väärtusi.

Süntaks:

int ( ) ( ) ( ) arr = new int (10)(4)(3);

Ülaltoodud näites võib massiivi 'arr' talletatud arv olla maksimaalselt 10x4x3 = 120.

Kuidas luua 3D-massiive ja lisada neid Java-s väärtusi?

3D-massiivide loomine Java-s on sama lihtne kui 1D- ja 2D-massiivide loomine. Nagu eespool mainitud, on oluline määratleda massiivi suurus deklareerimise ajal. 3D-massiivide loomine hõlmab veel ühte sammu nende väärtuste edastamiseks / sisestamiseks 2D-massiivide massiivi kujul. Saame määratleda massiivi suuruse ja sisestada / sisestada väärtusi hiljem või massiivi väärtusi otse edasi anda. Nii on 3D-massiivides määratletud väärtusviis toodud allpool:

Süntaks

data_type()()() arr_name =
(
(
(Array1Row1Col1, Array1Row1Col2, ….),
(Array1Row2Col1, Array1Row2Col2, ….)
),
(
(Array2Row1Col1, Array2Row1Col2, ….),
(Array2Row2Col1, Array2Row2Col2, ….)
)
)

Kood

int num_array ( ) ( ) ( ) = (
(
(10, 20, 99),
(30, 40, 88)
),
(
(50, 60, 77),
(80, 70, 66)
),
);

Massiivid asuvad massiivi sees ja seetõttu nimetatakse seda 2D-massiivi massiiviks. Ülaltoodud näites, kui me näeme seda selgelt, on kaks 2D numbrimassiivi ja see 2D.

Kuidas Java-vormingus 3D massiivide elemente lähtestada?

Nagu ülalpool mainitud, on 3D-massiividega töötamisel parim tava kogu massiivi initsialiseerimine, kuna see vähendab edaspidise programmeerimise segiajamise tõenäosust. Ehkki massiivis saame ka ühe väärtuse korraga määrata, mida saab teha allpool mainitud viisil:

Süntaks:

int employee_arr( ) ( ) ( ) = new int (10)(3)(3);
employee_arr(0)(0)(0) = 100; // it will assign value 100 at very first element of employee_arr employee_arr(0)(0)(1) = 200; // it will assign value 200 at second element of employee_arr employee_arr(0)(0)(2) = 300; // it will assign value 100 at third element of employee_arr

Ülaltoodud lähenemisviis on väsitav ja seda ei peeta heaks lähenemisviisiks, kuna see võtab palju ruumi ja suurendab koodirida. Samuti on üks lähenemisviis silmuste kasutamisel, mida peetakse 3D-massiividega töötamisel heaks tavaks.

Süntaks:

int Student_arr ( ) ( ) ( ) = new arr (2) (3) (4); int x, y, z, value;
for(x = 0; x< 2; x++) (
for(y = 0; y< 3; y++) (
for(z = 0; z< 4; z++) (
Student_arr(x)(y)(z) = value; value= value*2;
)
)
)

Ülaltoodud näites sisestatakse kõik massiivi elemendid silmuste abil, kus x = ei. tabelite arv, y = ridade koguarv ja z tähistab veergude koguarvu 3D-massiivis nimega Student_arr.

Kuidas pääseda Java 3D-massiivi elementidele juurde?

Ehkki Java-s saame massiivi üksikule elemendile juurde pääseda indeksite abil, nagu me oleme need initsialiseerinud indeksitega, mis on sarnased allolevaga:

Süntaks:

int arr ( ) ( ) ( ) = new arr (3) (3) (3);
// Accessing the array elements of 3D arrays in Java using indices

Süntaks:

System.out.println(“The first element of array is” + arr(0)(0)(0));

Ülaltoodud süntaksis otsib element elemendi massiivi 'arr' (0) (0) (0) indeksis, kuid kui tahame koguda kõiki massiivi elemente, siis seda lähenemist ei järgita ja elemendid on pääseb silmuste kaudu, kuna see laadib kõik elemendid korraga alla. Elementidele silmuste kaudu juurdepääsu saamiseks kasutatakse 3 silmust, milles esimene silmus määratleb tabelite koguarvu ja teine ​​silmus määratleb read ja kolmas silmus - veerud vastavalt allpool toodud kirjeldusele:

Kood:

class Student(
public static void main(String() args) (
// student_arr is the name of 3d array int()()() student_arr= (
(
(10, 20, 30),
(20, 30, 40)
),
(
(40, 50, 60),
(10, 70, 80),
)
);
// for loop to iterate through each element of 3D array for (tables = 0; tables<2; tables++)
(
for (rows= 0; rows <2; rows++)
(
for (columns= 0; columns<3; columns++)
(
System.out.print("student_arr(" +tables+ ")(" +rows+ ")(" +columns+ ") = "
+student_arr(tables)(rows)(columns)+ "\t");
)
System.out.println();
)
System.out.println();
)
)

Väljund:

student_arr (0) (0) (0) = 10õpilasarm (0) (0) (1) = 20student_arr (0) (0) (2) = 30
student_arr (0) (1) (0) = 20student_arr (0) (1) (1) = 30õpilasarm (0) (1) (2) = 40
student_arr (1) (0) (0) = 40student_arr (1) (0) (1) = 50student_arr (1) (0) (2) = 60
student_arr (1) (1) (0) = 10õpilane_arr (1) (1) (1) = 70student_arr (1) (1) (2) = 80

Kuidas eemaldada Java 3D-massiivide elemente?

  • Elementide eemaldamine Java-vormingus 3D-massiividest on lihtne ja sarnane nende lähtestamisega. Massiiviklass ei paku otsest meetodit elemendi massiividest lisamiseks või kustutamiseks. Kuna massiivi ei saa dünaamiliselt suurendada ega vähendada, rakendatakse selle ülesande täitmiseks lihtsat programmeerimisloogikat. Lihtsalt saame kogu massiivi läbimiseks kasutada 3 silmust, määrates indeksi, mille järgi tahame elemendi eemaldada. Saame luua uue massiivi või kopeerida algse massiivi, jättes eemaldatava elemendi.
  • Selle protsessi käigus kasutatakse 3D-massiivi elementide eemaldamist ja värskendamist harva. Selle asemel kasutatakse seda tüüpi juhtudel ArrayList, kuna see pakub mitmesuguseid funktsioone elementide otseseks eemaldamiseks sellest. ArrayListis kasutatakse'ray () 'meetodit elementide eemaldamiseks ArrayListis sisalduvast indeksist. Kui massiivis on korduvad väärtused ja soovime massiivi esmakordse esinemise eemaldada, võib kasutada ArrayUtils.removeElement (massiiv, element) meetodit, mis võtab vastu 2 argumenti, st kogu massiivi ja elementi, mida on vaja eemaldatakse sellest.

Kuidas värskendada elemente

3D-massiivi elementide värskendamiseks puudub selline meetod. Mõnda programmeerimisloogikat rakendatakse elementide modifitseerimiseks, nagu näiteks elementide eemaldamine, läbides kogu massiivi 3 silmuse abil ja viies modifikatsiooni läbi kas konkreetses indeksis või terves massiivis. Sellise keeruka ülesande puhul ei eelistata seda töötlemist 3D-massiivide kaudu ja seda tehakse kogu ArrayList abil. ArrayListi komplektis (int-indeks, E-element) kasutatakse elemendi massiivi dünaamiliseks muutmiseks või värskendamiseks. See võtab 2 argumenti, st indeksi ja elemendi koos muudetud ja värskendatud väärtusega.

Järeldus

Nagu me eespool mainisime, kuidas Java-s 3D-massiividega töötada. Mitmemõõtmeliste massiividega töötamine Java-s on uute programmeerijate jaoks mõnevõrra keeruline, kuna see hõlmab mitmesuguseid silmuseid, kuid selle mõistmine astmelise protseduuri abil ja massiividega töötamise põhireeglite järgimine võib selle kallal töötamise palju lihtsamaks muuta.

Soovitatavad artiklid

See on Java 3D-massiivide juhend. Siin arutatakse, kuidas massiive luua, kuidas väärtust sisestada, kuidas juurde pääseda, eemaldada ja värskendada. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. 3D-massiivid C-s
  2. 3d massiivid Pythonis
  3. Massiivid R
  4. Massiivi eelised
  5. Mitmemõõtmeline massiiv Pythonis
  6. Massiivid PHP-s
  7. Kuidas massiivid ja loendid Pythonis töötavad?
  8. C ++ mitmemõõtmelised massiivid näidetega

Kategooria: