multidimensional arrays java 2d
Denne veiledningen om flerdimensjonale matriser i Java diskuterer hvordan du initialiserer, får tilgang til og skriver ut 2d- og 3d-arrays i Java med eksempler på syntaks og kode:
Så langt har vi diskutert hovedkonseptene om endimensjonale matriser. Disse matriser lagrer en enkelt sekvens eller liste over elementer av samme datatype.
Java støtter også matriser med mer enn én dimensjon, og disse kalles flerdimensjonale matriser.
=> Sjekk ALLE Java-opplæringsprogrammer her.
Java-flerdimensjonale matriser er arrangert som en matrise av matriser, dvs. hvert element i en flerdimensjonal matrise er en annen matrise. Representasjonen av elementene er i rader og kolonner. Dermed kan du få et totalt antall elementer i en flerdimensjonal matrise ved å multiplisere radstørrelse med kolonnestørrelse.
Så hvis du har en todimensjonal matrise på 3 × 4, så er det totale antall elementer i denne matrisen = 3 × 4 = 12.
I denne opplæringen vil vi utforske flerdimensjonale matriser i Java. La oss først diskutere de todimensjonale matriser før vi beveger oss til tre eller flere dimensjonale matriser.
Hva du vil lære:
- To-dimensjonal matrise
- Java flerdimensjonale matriser
- Tredimensjonale matriser i Java
- ofte stilte spørsmål
- Konklusjon
To-dimensjonal matrise
Den enkleste av den flerdimensjonale matrisen er en todimensjonal matrise. En enkel definisjon av 2D-matriser er: En 2D-matrise er en matrise med endimensjonale matriser.
I Java er en todimensjonal matrise lagret i form av rader og kolonner og er representert i form av en matrise.
Den generelle erklæringen om en todimensjonal matrise er,
data_type () () array_name;
Her,
data_type = datatype av elementer som vil bli lagret i en matrise.
array_name = navn på det todimensjonale arrayet.
Du kan opprette et 2D-utvalg ved å bruke nytt som følger:
data_type () () array_name = new data_type(row_size)(column_size);
Her,
row_size = antall rader en matrise vil inneholde.
column_size = antall kolonner array vil inneholde.
Så hvis du har en matrise på 3 × 3, betyr det at den vil ha 3 rader og 3 kolonner.
Oppsettet til denne matrisen vil være som vist nedenfor.
Rader / kolonner | Kolonne1 | Kolonne2 | Kolonne3 |
---|---|---|---|
Rad 1 | (0,0) | (0.1) | (0.2) |
Rad2 | (1.0) | (1,1) | (1,2) |
Rad3 | (2.0) | (2.1) | (2.2) |
Som vist ovenfor lagrer hvert skjæringspunkt mellom rad og kolonne et element i 2D-matrisen. Så hvis du vil ha tilgang til det første elementet i 2d-matrisen, blir det gitt av (0, 0).
Merk at ettersom matrisestørrelsen er 3 × 3, kan du ha 9 elementer i denne matrisen.
Et heltall array med navnet 'myarray' på 3 rader og 2 kolonner kan deklareres som nedenfor.
int ()() myarray = new int(3)(2);
Når matrisen er erklært og opprettet, er det på tide å initialisere den med verdier.
Initialiser 2d Array
Det er forskjellige måter å initialisere 2d-matrisen med verdier på. Den første metoden er den tradisjonelle metoden for å tildele verdier til hvert element.
Den generelle syntaksen for initialisering er:
array_name(row_index)(column_index) = value;
Eksempel:
int()() myarray = new int(2)(2); myarray(0)(0) = 1; myarray(0)(1) = myarray(1)(0) = 0; myarray(1)(1) = 1;
Ovennevnte utsagn initialiserer alle elementene i den gitte 2d-matrisen.
La oss sette det i et program og sjekke utdataene.
public class Main { public static void main(String() args) { int()() myarray = new int(2)(2); myarray(0)(0) = 1; myarray(0)(1) = myarray(1)(0) = 0; myarray(1)(1) = 1; System.out.println('Array elements are:'); System.out.println(myarray(0)(0) + ' ' +myarray(0)(1)); System.out.println(myarray(1)(0) + ' ' +myarray(1)(1)); } }
Produksjon:
hvordan du installerer formørkelse c ++
Denne metoden kan være nyttig når dimensjonene er mindre. Etter hvert som arraydimensjonen vokser, er det vanskelig å bruke denne metoden for å initialisere elementene individuelt.
Den neste metoden for initialisering av 2d-matrisen i Java er ved å initialisere matrisen bare på erklæringstidspunktet.
Den generelle syntaksen for denne initialiseringsmetoden er som gitt nedenfor:
data_type()() array_name = {{val_r1c1,val_r1c2,...val_r1cn}, {val_r2c1, val_r2c2,...val_r2cn}, … {val_rnc1, val_rnc2,…val_rncn}};
For eksempel, hvis du har et 2 × 3 utvalg av typen int, så du kan initialisere den med erklæringen som:
int ()() intArray = {{1, 2, 3}, {4, 5, 6}};
Følgende eksempel viser 2d-array-erklæringen med initialisering.
public class Main { public static void main(String() args) { //2-d array initialised with values int()() intArray = { { 1, 2 }, { 3, 4 },{5,6}}; //print the array System.out.println('Initialized Two dimensional array:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 2; j++) { System.out.print(intArray (i)(j) + ' '); } System.out.println(); } } }
Produksjon:
I det ovennevnte programmet initialiseres matrisen på selve erklæringstidspunktet, og deretter vises verdiene.
Du kan også initialisere eller tilordne verdiene til 2d-array ved hjelp av en sløyfe som vist nedenfor.
int()() intArray = new int(3)(3); for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray(i)(j) = i+1; } }
Følgende program implementerer ovennevnte kode.
public class Main { public static void main(String() args) { //declare an array of int int()() intArray = new int(3)(3); System.out.println('Array elements are:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray(i)(j) = i+1; //assign values to each array element System.out.print(intArray(i)(j) + ' '); //print each element } System.out.println(); } } }
Produksjon:
Hvert element i ovennevnte 2d-oppstilling tildeles verdien 'i + 1'. Dette gjør at hvert element i en rad i matrisen inneholder den samme verdien.
Få tilgang til og skriv ut 2d Array
Du vet allerede at når du initialiserer 2d-matrisen, kan du initialisere de enkelte elementene i matrisen til en verdi. Dette gjøres ved å bruke radindeksen og kolonneindeksen til matrisen for å få tilgang til et bestemt element.
I likhet med initialisering kan du også få tilgang til verdien til det enkelte elementet og skrive det ut til brukeren.
Den generelle syntaksen for tilgang til matriseelementet er:
data_typeval = array_name(row_index)(column_index);
Hvor array_name er arrayet der elementet er tilgjengelig, og data_type er det samme som datatypen array.
Det følgende programmet viser hvordan et enkelt element blir åpnet og skrevet ut.
public class Main { public static void main(String() args) { //two dimensional array definition int()() intArray = {{1,2},{4,8}}; //Access individual element of array intval = intArray(0)(1); //print the element System.out.println('Accessed array value = ' + val); System.out.println('Contents of Array:' ); //print individual elements of array System.out.println(intArray(0)(0) + ' ' + intArray(0)(1)); System.out.println(intArray(1)(0) + ' ' + intArray(1)(1)); } }
Produksjon:
På denne måten kan du enkelt få tilgang til og skrive ut individuelle matriseelementer ved hjelp av rad- og kolonneindekser som er lukket i firkantede (()) parenteser.
Du kan skrive ut hele matrisen samtidig i tabellformat som vist ovenfor (også kalt matriseform) ved hjelp av for loop. Siden dette er en todimensjonal matrise, må du ha to løkker for dette. Én sløyfe som gjentas gjennom rader, dvs. den ytre sløyfen og den indre sløyfen for å krysse kolonnene.
På et gitt øyeblikk (gjeldende iterasjon) blir det spesielle elementet i matrisen gitt av,
array_name (i) (j);
Der ‘i’ er gjeldende rad og ‘j’ er gjeldende kolonne.
Det følgende programmet viser utskrift av et 2d-array ved hjelp av en 'for' -sløyfe.
public class Main { public static void main(String() args) { //two dimensional array definition int()() intArray = new int(3)(3); //printing the 2-d array System.out.println('The two-dimensional array:'); for (int i = 0; i <3; i++) { for (int j = 0; j < 3; j++) { intArray(i)(j) = i*j; //assign value to each array element System.out.print(intArray (i)(j) + ' '); } System.out.println(''); } } }
Produksjon:
I det ovennevnte programmet initialiseres 2d-matrisen, og deretter skrives elementene ut med to for løkker. Den ytre brukes til å holde oversikt over rader mens den indre for løkken er for kolonner.
Java 2d Array Lengde
En todimensjonal matrise er definert som matrisen til en endimensjonal matrise. Når du trenger lengden på et 2d-array, er det altså ikke så greit som i et endimensjonalt array.
Lengdeegenskapen for en todimensjonal matrise returnerer antall rader i matrisen. Hver rad er et endimensjonalt utvalg. Du vet allerede at den todimensjonale matrisen består av rader og kolonner. Kolonnestørrelsen kan variere for hver rad.
Derfor kan du oppnå størrelsen på hver rad ved å gjenta det gjennom antall rader.
Det følgende programmet gir lengden på matrisen (antall rader) samt størrelsen på hver rad.
public class Main { public static void main(String() args) { //initialize 2-d array int()() myArray = { { 1, 2, 3 }, { 4, 5 } }; System.out.println('length of array:' + myArray.length); //number of rows for(int i=0;i Produksjon:
En todimensjonal matrise definert ovenfor har to rader. Hver rad er et endimensjonalt utvalg. Den første 1D-matrisen har 3 elementer (3 kolonner) mens den andre raden har 2 elementer.
Følgende Java-program viser bruken av lengdeegenskapen for å skrive ut 2d-matrisen.
public class Main { public static void main(String() args) { //two dimensional array definition int()() myarray = new int(3)(3); //printing the 2-d array System.out.println('The two-dimensional array:'); for (int i = 0; i Produksjon:
Som allerede nevnt representerer den ytre sløyfen radene og den indre for sløyfen representerer kolonnene.
Merk: Den avsluttende tilstanden i begge sløyfer bruker lengdeegenskapen, først for å gjenta gjennom rader og deretter gjennom kolonner.
Java flerdimensjonale matriser
Vi har allerede sett todimensjonale matriser. Java støtter matriser med mer enn to dimensjoner.
Den generelle syntaksen til en flerdimensjonal matrise er som følger:
data_type (d1)(d2)…(dn) array_name = new data_type(d1_size)(d2_size)…(dn_size);
Her,
d1, d2… dn = dimensjoner for det flerdimensjonale arrayet
(d1_size) (d2_size)… (dn_size) = respektive størrelser på dimensjonene
data_type = datatype for matriseelementene
array_name = navn på flerdimensjonalt array
Som et eksempel på en mer flerdimensjonal matrise enn 2d-matrise, la oss diskutere detaljene i tredimensjonale (3d) matriser.
Tredimensjonale matriser i Java
Vi har allerede diskutert at en matrise blir mer kompleks etter hvert som dimensjonene øker. Tredimensjonale matriser er komplekse for flerdimensjonale matriser. En tredimensjonal kan defineres som en rekke todimensjonale matriser.
Den generelle definisjonen av et tredimensjonalt array er gitt nedenfor:
data_type () () () array_name = new data_type (d1)(d2)(d3);
Her,
d1, d2, d3 = størrelsen på dimensjonene
data_type = datatype for elementene i matrisen
array_name = navn på 3d-array
Eksempel på 3d array definisjon er:
int () () () intArray = new int(2)(3)(4);
Ovennevnte definisjon av 3d-array kan tolkes som å ha to tabeller eller matriser, 3 rader og 4 kolonner som utgjør totalt opptil 2x3x4 = 24 elementer.
Dette betyr at de tre dimensjonene i et 3d-array tolkes som:
- Antall bord / matriser: Den første dimensjonen indikerer hvor mange tabeller eller matriser en 3d-matrise vil ha.
- Antall rader: Den andre dimensjonen betyr det totale antall rader en matrise vil ha.
- Antall kolonner: Den tredje dimensjonen angir de totale kolonnene i 3d-arrayet.
Initialiser 3d Array
Tilnærmingene som ble brukt til å initialisere en 3d-matrise er de samme som de som ble brukt til å initialisere todimensjonale matriser.
Du kan enten initialisere matrisen ved å tilordne verdier til individuelle matriseelementer eller initialisere matrisen under erklæringen.
Eksemplet nedenfor viser initialiseringen av 3d-array under erklæring.
public class Main { public static void main(String() args) { //initialize 3-d array int()()() intArray = { { { 1, 2, 3}, { 4, 5, 6 } , { 7, 8, 9 } } }; System.out.println ('3-d array is given below :'); //print the elements of array for (int i = 0; i <1; i++) for (int j = 0; j < 3; j++) for (int z = 0; z < 3; z++) System.out.println ('intArray (' + i + ')(' + j + ')(' + z + ') = ' + intArray (i)(j)(z)); } }
Produksjon:
Etter å ha initialisert 3d-array under erklæring, har vi fått tilgang til de enkelte elementene i arrayet og skrevet dem ut.
Acces And Print 3d Array
Igjen, utskrift og tilgang til matriseelementer i en tredimensjonal matrise er lik den i todimensjonale matriser.
Programmet nedenfor bruker løkker for å få tilgang til matriseelementene og skrive dem ut til konsollen.
public class Main { public static void main(String() args) { //initialize 3-d array int()()() myArray = { { { 1, 2, 3 }, { 4, 5, 6 } }, { { 1, 4, 9 }, { 16, 25, 36 } }, { { 1, 8, 27 }, { 64, 125, 216 } } }; System.out.println('3x2x3 array is given below:'); //print the 3-d array for (int i = 0; i <3; i++) { for (int j = 0; j < 2; j++) { for (int k = 0; k < 3; k++) { System.out.print(myArray(i)(j)(k) + ' '); } System.out.println(); } System.out.println(); } } }
Produksjon:
Ovennevnte program viser en tabellvisning av en tredimensjonal matrise. Som vist er det en 3x2x3 matrise som betyr at den har 3 tabeller, 2 rader og 3 kolonner og dermed 18 elementer.
Det er allerede nevnt at kolonnestørrelsen kan variere i en flerdimensjonal matrise. Eksemplet nedenfor viser en tredimensjonal matrise med varierte kolonnestørrelser.
Dette programmet bruker også forbedret for loop for å krysse gjennom matrisen og vise elementene.
public class Main { public static void main(String() args) { //initialize 3-d array int()()() intArray = { {{10, 20, 30},{20, 40, 60}}, { {10, 30,50,70},{50},{80, 90}} }; System.out.println('Multidimensional Array (3-d) is as follows:'); // use for..each loop to iterate through elements of 3d array for (int()() array_2D: intArray) { for (int() array_1D: array_2D) { for(intelem: array_1D) { System.out.print(elem + ' '); } System.out.println(); } System.out.println(); } } }
Produksjon:
Inngangsoppsettet som brukes er et tredimensjonalt oppsett med variert kolonnelengde. Den forbedrede for hver sløyfe som brukes for hver dimensjon, viser innholdet i matrisen i tabellformat.
ofte stilte spørsmål
Q # 1) Hva mener du med todimensjonalt array?
Svar: En todimensjonal matrise kalles en matrise av matriser og er vanligvis organisert i form av matriser som består av rader og kolonner. En todimensjonal matrise finner sin bruk hovedsakelig i relasjonsdatabaser eller lignende datastrukturer.
Q # 2) Hva er en enkeltdimensjonal matrise i Java?
Svar: En-dimensjonal matrise i Java er en matrise med bare en indeks. Dette er den enkleste formen for matriser i Java.
Q # 3) Hva er forskjellen mellom et endimensjonalt array og et todimensjonalt array?
Svar: Endimensjonalt array lagrer en enkelt sekvens av elementer og har bare en indeks. En todimensjonal matrise lagrer en rekke matriser med elementer og bruker to indekser for å få tilgang til elementene.
Q # 4) Hva betyr det å være todimensjonalt?
Svar: To-dimensjonal betyr bare å ha to dimensjoner. I en geometrisk verden er objekter som bare har høyde og bredde todimensjonale eller 2D-objekter. Disse objektene har ikke tykkelse eller dybde.
Trekant, rektangler osv. Er 2D-objekter. I programvarebetingelser betyr todimensjonal fortsatt å ha to dimensjoner, og vi definerer vanligvis datastrukturer som matriser som kan ha 1, 2 eller flere dimensjoner.
hvordan vise xml-filer i word
Q # 5) Hvilken kommer først i en matrise - Rader eller kolonner?
Svar: To-dimensjonale matriser er representert som matriser og matriser skrives vanligvis i form av rader x kolonner. For eksempel, en matrise med størrelse 2 × 3 vil ha 2 rader og 3 kolonner. Derfor for 2D-matrisen også kommer radene først og kolonnene neste.
Konklusjon
Dette handlet om flerdimensjonale matriser i Java. Vi har diskutert alle aspektene ved todimensjonale matriser, samt en matrise med mer enn to dimensjoner.
Disse kalles vanligvis array eller arrays, da hvert element er et annet array i tilfelle multidimensjonale arrays. Dermed kan vi si at en matrise inneholder en annen matrise eller bare en matrise med matriser.
I våre kommende veiledninger vil vi utforske mer om matriser og deretter gå videre til andre samlinger.
=> Se opp den enkle Java-treningsserien her.
Anbefalt lesing
- Java Array - Hvordan skrive ut elementer av en array i Java?
- Java Generic Array - Hvordan simulere generiske matriser i Java?
- Flerdimensjonale arrays og jagged arrays i C #
- Introduksjon til Java Arrays og relaterte konsepter
- Flerdimensjonale matriser i C ++
- Java datatyper, sløyfer, matriser, bryter og påstander
- Java Array - Erklære, opprette og initialisere en array i Java
- Java Array Length Tutorial With Code Eksempler