2D -matrise i Java

2D -matrise i Java
I Java er en endimensjonal matrise et sett med verdier av samme type. Verdietypen er typen av matrisen. En 1D -matrise er et objekt fra objektets superklasse. En 1D -matrise er en liste. I denne artikkelen antas listen for den endimensjonale matrisen å vises i en vertikal kolonne. En 1D -matrise har eiendomslengden, som returnerer antall elementer i matrisen.

En todimensjonal matrise er en tabell. En tabell er en vertikal liste over horisontale lister. I Java er en todimensjonal matrise en rekke matriser. Det vil si at en 2D -matrise er en vertikal rekke horisontale matriser. Det vil si at en 2D -matrise i Java er en vertikal liste over horisontale lister. 2D -matrisen har rader og kolonner. Lengden på 2D -arrayen er antall rader, som er lengdeegenskapen til 1D -kolonne -matrisen. Alle verdiene i alle cellene i tabellen er av samme type; Dette sies å være typen av 2D -matrisen.

Denne artikkelen forklarer, hva en 2D -matrise i Java er, og hvordan du kan lage og få tilgang til elementene. All kode for denne artikkelen foregår i Main () -metoden.

Opprette en todimensjonal matrise

En 1D -utvalg av chars, uten initialisering og uten angitt lengde, er erklært som følger:

char [] ar;

AR er navnet på 1D -matrisen. En 2D -matrise under de samme forholdene vil bli erklært som følger:

char [] [] arr;

ARR er navnet på 2D -matrisen. Lengden og bredden på denne matrisen må fortsatt være angitt. Følgende kodesegment illustrerer dette:

char [] [] arr;
arr = ny røye [4] [5];

Den første uttalelsen har to par firkantede parenteser: den første er for radene, og den andre er for kolonnene. Den andre uttalelsen har også to par firkantede parenteser med tall. Den første har antall rader, og den andre har antall kolonner. ARR, her, er en tabell med 4 rader og 5 kolonner, der hver celle har standard char -verdi.

Erstatte standardverdiene med praktiske verdier

For 1D -matrisen, AR av chars ovenfor, kan en lengde på 4 gis med:

char [] ar;
AR = ny røye [4];

Og standardkareverdiene for denne 1D -matrisen, kan alle erstattes med:

ar [0] = 'k';
ar [1] = 'k';
ar [2] = 'k';
ar [3] = 'k';

For 2D -matrisen skjer det en lignende ting, men med to par firkantede parenteser. Det første paret er for radnummeret, og det andre paret er for kolonnummeret. Indekstelling for både rader og kolonner begynner fra null. Så for 2D -matrisen,

char [] [] arr;
arr = ny røye [4] [5];

Standard røyeverdier kan erstattes med:

arr [0] [0] = 'k'; arr [0] [1] = 'l'; arr [0] [2] = 'm'; arr [0] [3] = 'n'; arr [0] [4] = 'o';
arr [1] [0] = 'k'; arr [1] [1] = 'l'; arr [1] [2] = 'm'; arr [1] [3] = 'n'; arr [1] [4] = 'o';
arr [2] [0] = 'k'; arr [2] [1] = 'l'; arr [2] [2] = 'm'; arr [2] [3] = 'n'; arr [2] [4] = 'o';
arr [3] [0] = 'k'; arr [3] [1] = 'l'; arr [3] [2] = 'm'; arr [3] [3] = 'n'; arr [3] [4] = 'o';

Leser verdiene til en 2D -matrise

En nestet for-loop kan brukes til å lese alle verdiene til en todimensjonal matrise. Følgende nestet for-loop, leser alle verdiene til ovennevnte 2D-matrise, rad-for-rad:

for (int i = 0; i<4; i++)
for (int j = 0; j<5; j++)
System.ute.print (arr [i] [j]); System.ute.skrive ut(");

System.ute.println ();

Utgangen er:

K l m n o
K l m n o
K l m n o
K l m n o

Jeg er for radene; J er for kolonnene. Hvert element er tilgjengelig med, arr [i] [j].

2D Array -erklæring med initialisering

En 2D -matrise kan deklareres og initialiseres med praktiske verdier, samtidig. En måte å gjøre dette på, for ovennevnte matrise, er:

char [] [] arr = new char [] []
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o'
;

Legg merke til at tallene for lengden og bredden på matrisen er utelatt, ettersom initialisator 2D -matrisen har lengde og bredde implisitt. Den andre måten å oppnå erklæring og initialisering, utelater “New Char [] []”; det er:

char [] [] arr =
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o',
'K', 'l', 'm', 'n', 'o'
;

Lengde og bredde for en 2D vanlig matrise

En erklæring kan ha lengden og bredden som følger:

char [] [] arr = new char [4] [5];

Lengden (høyden) er 4, og bredden er 5. En rekke denne tilstanden består av 4 x 5 celler av standardverdier for røye. Dette er noe en rekke 4 celler, der hver celle har fem celler. Hekkecellen er ikke kodet, noe som gjør den til en rekke fem rader. Med denne uttalelsen gir array lengdeegenskap (felt) antall rader, som følgende kodesegment illustrerer:

char [] [] arr = new char [4] [5];
int len ​​= arr.lengde;
System.ute.println (len);

Utgangen er 4. Siden lengdeegenskapen bare returnerer antall rader, må antallet kolonner eller bredde bli forhåndsinnfattet.

Følgende nestet for-loop bruker lengdeegenskapen, for å vise verdiene på tabellen:

for (int i = 0; ifor (int j = 0; j<5; j++)
System.ute.print (arr [i] [j]); System.ute.skrive ut(");

System.ute.println ();

arr.Lengde resulterer i antall rader. Antall kolonner, 5, ble forhåndsbestemt.

Konklusjon

En todimensjonal matrise er en rekke matriser. Det er en tabell med rader og kolonner. Den er kodet som et antall rader. Java har en spesiell syntaks for å lage en 2D -matrise. Alle verdiene til 2D -matrisen er av samme type, som også er kjent som typen av matrisen. Håndteringen av 2D -matrisen er preget av påfølgende par firkantede parenteser. For å kode en 2D -matrise i Java, er det ikke nødvendig å importere array -klassen.