Uvod v 3D matrike na Javi

Preden razumemo matrike 3D v Javi, bi morali vedeti, kaj je matrika in zakaj se uporablja v programskih jezikih? Nizi so v osnovi skupina podobnih vrst vrednosti, ki jih navaja isto ime. Pod podobno vrsto mislimo na vrednosti iste vrste podatkov. Razmislimo o situaciji, v kateri želimo shraniti imena vseh učencev v razredu. Ker je ime študenta vrste podatkov String, bi bilo pa napačno shraniti ime vsakega študenta v drugačno spremenljivko, saj ne bi le zavzelo veliko prostora, ampak tudi ustvarilo zmedo v programu s povečanjem skoraj enakega vrstice kode. Za reševanje takšnih situacij se uporabljajo matrike. Programer lahko ustvari matriko Student_names in določi velikost le-tega v času izdelave array objekta. Na ta način ne bi bilo treba določiti imena spremenljivke za vsako ime študenta in kadar koli želimo posodobiti, vstaviti in pridobiti vrednosti, lahko uporabimo indekse tega niza.

V Javi je matrična spremenljivka razglašena podobno kot druge spremenljivke z znakom () po njenem podatkovnem tipu. Velikost matrike je treba določiti v času izdelave matrike in ostane konstantna. Elementi matrike so dostopni s številčnimi indeksi s prvim elementom, shranjenim v 0 indeksih. Na Javi v bistvu obstajata dve vrsti nizov, to je enodimenzionalni in večdimenzionalni niz. 3D matriki spadajo v kategorijo večdimenzionalnih nizov. Večdimenzionalne matrike v preprostih besedah ​​lahko definiramo kot matriko nizov, 3D matriki pa so matrika dvodimenzionalnih nizov. 3D je zapletena oblika večdimenzionalnih nizov. Razmislite o scenariju Stanovanja v stavbi. Recimo, da je v stanovanju 10 nadstropij in v vsakem nadstropju je 5 stanovanj, v vsakem stanovanju pa 3 sobe. Za obdelavo teh podatkov pri programiranju se uporabljajo 3D matriki.

Kako so v Java določeni 3D matriki?

Java uporablja zelo preprost način za določanje nizov. Kvadratni oklepaji ('()') se uporabljajo za definiranje objekta matrike po podatkovni vrsti matrike. Treba je določiti velikost ob deklaraciji matrike. 3D matriki so definirani s tremi oklepaji. Spodaj je sintaksa definiranja nizov 3D na Javi:

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

  • Tukaj data_type: podatkovna vrsta elementov, ki bodo shranjeni v matriki. ime matrike: ime matrike
  • novo: ključna beseda za ustvarjanje predmeta na Javi
  • a, b, c: vsebuje številčne vrednosti za različne dimenzije.

Sintaksa:

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

V zgornjem primeru je lahko največ 10x4x3 = 120 elementov, shranjenih v matriki 'arr'.

Kako ustvariti matrike 3D in v njih vstaviti vrednosti v Java?

Ustvarjanje 3D-nizov v Javi je tako preprosto kot ustvarjanje 1D in 2D matrikov. Kot že omenjeno, je pomembno, da se ob deklaraciji določi velikost matrike. Ustvarjanje 3D-nizov vključuje še en korak posredovanja / vnašanja vrednosti v njih v obliki matrike dvodnevnih nizov. Določimo lahko velikost matrike in lahko naknadno vstavimo / vnesemo vrednosti ali lahko neposredno prenesemo vrednosti v matriko. Način, opredeljen v matrikah 3D, je naveden spodaj:

Sintaksa

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

Koda

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

Nizi so znotraj matrike, zato se imenuje matrika 2D matrikov. V zgornjem primeru, če jasno vidimo, sta dva dvodelna niza števil in ta 2D.

Kako inicializirati elemente 3D-nizov na Javi?

Kot že omenjeno, je inicializiranje celotnega niza naenkrat najboljša praksa pri delu s 3D-nizi, saj zmanjšuje možnosti zmede za prihodnje programiranje. Čeprav lahko hkrati poljubno dodelimo eno vrednost v matriki, ki jo lahko naredimo na način, kot je navedeno spodaj:

Sintaksa:

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

Zgornji pristop je naporen in ne velja za dober pristop, saj zavzema veliko prostora in povečuje vrstice kode. Obstaja tudi en pristop z uporabo zank, ki veljajo za dobro prakso pri delu s 3D-nizi.

Sintaksa:

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;
)
)
)

V zgornjem primeru so vsi elementi matrike vstavljeni s pomočjo zank, kjer je x = ne. tabel, y = skupno število vrstic in z označuje skupno število stolpcev v matriki 3D z imenom Student_arr.

Kako dostopati do elementov 3D-nizov na Javi?

V Javi lahko do posameznega elementa matrike dostopamo s pomočjo indeksov, saj smo jih inicializirali z indeksi, podobnimi spodnjim:

Sintaksa:

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

Sintaksa:

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

V zgornji sintaksi bo prišel element pri (0) (0) (0) indeksu matrike 'arr', običajno pa, če želimo pridobiti vse elemente matrike, temu pristopu ne sledimo in elementi so dostopate skozi zanke, saj pridobijo vse elemente hkrati. Medtem ko do elementov dostopate skozi zanke, se uporabljajo 3 zanke, v katerih prva zanka določa skupno število tabel, druga zanka pa določa vrstice, tretja zanka pa določa stolpce, kot je navedeno spodaj:

Koda:

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();
)
)

Izhod:

student_arr (0) (0) (0) = 10student_arr (0) (0) (1) = 20student_arr (0) (0) (2) = 30
student_arr (0) (1) (0) = 20student_arr (0) (1) (1) = 30student_arr (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) = 10student_arr (1) (1) (1) = 70student_arr (1) (1) (2) = 80

Kako odstraniti elemente 3D-nizov na Javi?

  • Odstranjevanje elementov iz 3D-nizov na Javi je preprosto in podobno tistemu, ki jih inicializira. Razred matrike ne ponuja nobene neposredne metode za dodajanje ali brisanje elementa iz matrike. Ker velikosti matrike ni mogoče dinamično povečati ali zmanjšati, se za izvedbo te naloge uporabi preprosta programska logika. Preprosto lahko s pomočjo treh zank prečkamo celoten niz, tako da določimo indeks, s katerim želimo odstraniti element. Ustvarimo lahko novo matriko ali kopiramo izvirno matriko, pri čemer pustimo element, ki ga je treba odstraniti.
  • Skozi ta postopek odstranjevanja in posodabljanja elementov v 3D matriki se redko uporabljajo. Namesto tega se ArrayList uporablja v teh vrstah primerov, saj ponuja različne funkcije za neposredno odstranjevanje elementov iz njega. V ArrayList metoda 'remove ()' se uporablja za odstranjevanje elementov iz podanega indeksa v ArrayList. Če imamo v matriki ponavljajoče se vrednosti in želimo odstraniti prvi pojav v ArrayUtils.removeElement (matrika, element), metoda za isto, ki ima 2 argumenta, tj. Celoten niz in element, ki ga je treba odstraniti iz njega.

Kako posodobiti elemente

Tako ni nobene metode za posodabljanje elementov v matriki 3D. Nekatera programska logika se uporablja za spreminjanje elementov, kot je odstranjevanje elementov s prečkanjem celotnega niza z uporabo treh zank in izvedbo sprememb bodisi v določenem indeksu bodisi v celotnem polju. Za tako zapleteno nalogo ta obdelava ni prednostna prek matrikov 3D in se izvaja z uporabo zbirke ArrayList. V naboru ArrayList (int indeks, element E) se uporablja za spreminjanje ali posodabljanje elementa v dinamični matriki. Potrebuje 2 argumenta, tj. Indeks in element s spremenjeno in posodobljeno vrednostjo.

Sklep

Kot smo že omenili, kako delati 3D matrike na Javi. Delo z večdimenzionalnimi nizi na Javi je za nove programerje nekoliko težavno, saj vključuje različne zanke, vendar ga razumevanje po postopnem postopku in upoštevanje osnovnih pravil pri delu z nizi lahko olajša delo na njem.

Priporočeni članki

To je vodnik za 3D matrike na Javi. Tukaj razpravljamo o tem, kako ustvariti matrike, kako vstaviti vrednost, kako dostopati, odstraniti in posodobiti. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -

  1. 3D matriki na C
  2. 3d matriki v Pythonu
  3. Nizi v R
  4. Prednosti Array
  5. Večdimenzionalni niz v Pythonu
  6. Nizi v PHP
  7. Kako matriki in seznami delujejo v Pythonu?
  8. Večdimenzionalni nizi v C ++ s primeri