Matrice în Java
⚡ Rezumat inteligent
Matrice în Java sunt containere cu dimensiune fixă, bazate pe index, care stochează elemente de un singur tip de date în memoria contiguă, oferind acces în timp constant, verificare încorporată a limitelor și un câmp de lungime, ceea ce le face fundamentul pentru majoritatea colecțiilor standard de biblioteci.

Ce este un Java Matrice?
A Java mulțime este o structură cu dimensiune fixă care stochează elemente de un tip de date în memoria contiguă. Fiecare element este accesat printr-un index cu bază zero, deci primul se află la 0 și ultimul la length - 1. Tablourile moștenesc de la Object și implementați Serializable și Cloneableși poate conține primitive sau referințe la obiecte.
Tablourile înlocuiesc serii lungi de variabile numerotate. Luați în considerare șase numere întregi independente:
x0 = 0; x1 = 1; x2 = 2; x3 = 3; x4 = 4; x5 = 5;
Aceleași șase valori se află într-o singură matrice de lungime șase:
x[0] = 0; x[1] = 1; x[2] = 2; x[3] = 3; x[4] = 4; x[5] = 5;
A buclă variabila poate conduce indexul dintre paranteze, astfel încât trei linii procesează fiecare element în loc de șase copii:
for (int count = 0; count < 5; count++) { System.out.println(x[count]); }
Tipuri de matrice în Java
Java Matricele au două forme:
- Matrice unidimensională: o listă plată de elemente.
- Matrice multidimensională: o matrice de matrice, utilizată pentru grile și matrice.
Variabile Array: Declarare, Construcție și Inițializare
Utilizarea unei matrice este o proces în trei pași: declară, construiește cu new, apoi inițializați.
1) Declarați matricea
Sintaxă:
<elementType>[] <arrayName>;
or (forma mai veche în stil C, încă valabilă):
<elementType> <arrayName>[];
Exemplu:
int[] intArray; // canonical form: brackets on the type int intArray2[]; // legacy C-style form, discouraged in new code
2) Construiți matricea
Sintaxă:
arrayName = new dataType[size];
Exemplu:
intArray = new int[10]; // defines that intArray will store 10 integer values
Declarație și interpretare combinate:
int[] intArray = new int[10];
3) Inițializați matricea
intArray[0] = 1; // assigns 1 to the first element (index 0) intArray[1] = 2; // assigns 2 to the second element (index 1)
Declarare și inițializare într-un singur pas folosind un literal de matrice:
int[] intArray = {1, 2, 3, 4}; // initialises an integer array of length 4 where the first element is 1, // the second element is 2, and so on.
Primul program Array din Java
Pas 1) Copiați următorul cod într-un editor:
class ArrayDemo { public static void main(String args[]) { int array[] = new int[7]; for (int count = 0; count < 7; count++) { array[count] = count + 1; } for (int count = 0; count < 7; count++) { System.out.println("array[" + count + "] = " + array[count]); } // System.out.println("Length of Array = " + array.length); // array[8] = 10; } }
Pas 2) Salvați, compilați și rulați codul. Observați rezultatul.
Ieșire preconizată:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Pas 3) If x este o referință la o matrice, x.length returnează numărul de sloturi. Decomentați prima linie comentată și rulați din nou:
Length of Array = 7
Pas 4) Spre deosebire de C, Java verifică limitele pentru fiecare acces la matrice. Decomentați a doua linie comentată și rulați din nou:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Pas 5) JVM-ul aruncă ArrayIndexOutOfBoundsExceptionÎn C, același acces ar returna erori din memoria adiacentă în loc să eșueze.
Java Matrice: Transmitere prin referință
Tablourile sunt transmise metodelor prin referință. Metoda primește o copie a referinței, astfel încât modificările elementelor făcute în interiorul metodei sunt vizibile apelantului.
Exemplu: tablourile sunt transmise prin referință.
Pas 1) Copiați următorul cod într-un editor:
class ArrayDemo { public static void passByReference(String a[]) { a[0] = "Changed"; } public static void main(String args[]) { String[] b = {"Apple", "Mango", "Orange"}; System.out.println("Before Function Call " + b[0]); ArrayDemo.passByReference(b); System.out.println("After Function Call " + b[0]); } }
Pas 2) Salvați, compilați și rulați codul. Observați rezultatul.
Ieșire preconizată:
Before Function Call Apple After Function Call Changed
Matrici multidimensionale în Java
Tablourile multidimensionale sunt tablouri de tablouri. Adăugați un alt set de paranteze pătrate pentru fiecare dimensiune. Pentru a crea o grilă bidimensională de numere întregi cu patru rânduri și cinci coloane:
int[][] twoD = new int[4][5];
Trebuie doar să dimensionați prima dimensiune (cea mai din stânga) din față. Dimensiunile rămase pot fi alocate separat, iar fiecare rând poate avea propria lungime, ceea ce face ca Java Matrici 2-D adevărate matrice zimțate.
Exemplu:
public class Guru99 { public static void main(String[] args) { // Create a 2-dimensional array with 4 rows and 4 columns. int[][] twoD = new int[4][4]; // Assign three elements to it. twoD[0][0] = 1; twoD[1][1] = 2; twoD[3][2] = 3; System.out.print(twoD[0][0] + " "); } }
Ieșire preconizată:
1
