Ce este o matrice?
O matrice este o colecție de elemente de același tip, organizate în formă de tabel în care fiecare element este indexat de o pereche de numere ce identifică numărul de rând și numărul de coloană la intersecția cărora se află elementul.
În Java o matrice este formată din mai mulți vectori fiecare reprezentând cîte un rând din matrice și mai este numită vector de vectori.
Cum se declară o matrice?
O matrice se declară în felul următor (asemănător ca la vectori):
int[][] m; // declarația unui vector de vectori
Cum se crează o matrice?
Înainte de a folosi o matrice aceasta trebuie creată, la fel ca vectorii. De exemplu, următoarele doua secvențe de creare a unei matrici sunt echivalente:
m = new int[3][]; //se crează un vector ce va conține 3 elemente, fiecare conținând // cîte o referință la un rând din matrice. m[0] = new int[5]; // se crează un rândul 0 din matrice (5 coloane) m[1] = new int[5]; // se crează un rândul 1 din matrice (5 coloane) m[2] = new int[5]; // se crează un rândul 2 din matrice (5 coloane) |
<=>
m = new int [3][5]; |
Rețineți faptul că, dacă utilizați cea dea doua modalitate forțați toate rândurile să conțină 5 coloane, pe când folosind prima modalitate rândurile pot avea număr de coloane diferit.
Observați în exemplul următor:
Cum se accesează elementele unei matrici?
Pentru a accesa un element este necesar de a specifica indicele de rând și coloană la intersecția căruia se află elementul folosind construcția:
variabila_matrice[indice_rînd][indice_coloană]
Exemplu:
int[][] m = new int [3][5];
m[1][2] = 39; // se atribuie elementului din rândul 1 coloana 2 valoarea 39
m[0][0] = 44; // se atribuie elementului din rândul 0 coloana 0 valoarea 44
System.out.println(m[1][2]); // se accesează elementul din rândul 1 coloana 2, se afișează 39
Cum depistați dimensiunea unei matrici?
Folosind variabila length, aveți posibilitatea de a obține numărul de rânduri și coloane a matricei. Fie ca m este o referință către o matrice, atunci:
ü m.length denotă numărul de rânduri
ü m[i].length denotă numărul de coloane a rândului i din matricea m.
Rețineți faptul că, dacă toate rândurile au același număr de coloane puteți folosi expresia m[i].length.
De exemplu:
double[][] v;
v = new double[15][20];
System.out.println(v.length); // afișează 15
System.out.println(v[0].length); // afișează 20
Cum parcurgem elementele unei matrici?
public class Parcurgere { public static void main(String[] args) { int [][] m = new int[2][2]; m[0][0] = 2; m[0][1] = 4; m[1][0] = 3; m[1][1] = 5; for (int i = 0; i < m.length; i++) { for (int j = 0; j < m[0].length; j++) System.out.print(m[i][j] + " "); System.out.println(); } }} |
public class parcurgere1 { public static void main(String[] args) { int [][] m = { {2,4}, {3,5} }; for (int i = 0; i < m.length; i++) { for (int j = 0; j < m[0].length; j++) System.out.print(m[i][j] + " "); System.out.println(); }}} |