Un array (matriu) és un objecte que conté un o més elements. Cada element pot contenir un tipus de dada primitiu o pot contenir referències a objectes.
Tots els elements d'un array han de ser del mateix tipus, ja siguin primitius o objectes.
A Java, tenim la propietat length que ens indica els elements que té l'array.
Sintaxi
L'array es pot declarar en diverses sentències, creant primer la variable i reservant la memòria afegint la longitud després:
tipo[] nombreDelArreglo;
nombreDelArreglo = new tipo[length];
Per exemple:
double[] precios;
precios = new double(4);
o el podem declarar directament en una línia:
tipo[] nombreDelArreglo = new tipo[length];
tipo nombreDelArreglo[] = new tipo[length];
Per exemple:
double[] precios = new double(4);
double precios[] = new double(4);
Per accedir a l'element de l'array podem utilitzar un índex que ens indica la posició a la qual volem accedir:
nombreArreglo[indice];
Per exemple:
Precios[0] = 14.90;
A més, tenim l'opció d'assignar dades directament a l'array:
tipo[] nombreArreglo = {valor1, valor2, valor3};
Per exemple:
double[] precios = {13, 34.2, 56.89, 5}
Per llegir un array i no haver d'accedir a cada element indicant el número de manera manual es necessita un bucle for o while, de manera que primer necessitarem la mida de l'array mitjançant la propietat length:
nombreArreglo.length;
I per accedir-hi utilitzarem l'índex del bucle:
nombreArreglo[indice];
Els arrays bidimensionals tenen dues dimensions, això significa que ho podem interpretar com una taula:
| 0 | 1 | 2 | 3 | |
|---|---|---|---|---|
| 0 | 1 | 3 | 5 | 7 |
| 1 | 5 | 8 | 9 | 10 |
| 2 | 56 | 12 | 35 | 24 |
Per fer la declaració, utilitzarem la sintaxi:
tipo[][] nombreArreglo = new tipo[fila][columna]
Si ara volem accedir a la posició on es troba la dada "3", haurem d'accedir a la segona columna i a la primera fila. Cal tenir en compte que, a Java, la primera columna o fila és 0, per la qual cosa haurem d'utilitzar el codi següent:
matriz[0][1] = 3;
Els arrays tenen molts mètodes, els podeu trobar tots a l'API d'Oracle.