Está en la página 1de 9

Arrays en Java

¿Qué es un Array en Java?

Un array es una estructura de datos que nos permite almacenar una gran cantidad de datos de un
mismo tipo. El tamaño de los arrays se declara en un primer momento y no puede cambiar en
tiempo de ejecución como puede producirse en otros lenguajes.

La declaración de un array en Java y su inicialización se realiza de la siguiente manera:

tipo_dato nombre_array[];
nombre_array = new tipo_dato[tamaño];

Por ejemplo, podríamos declarar un array de caracteres e inicializarlo de la siguiente manera:

char arrayCaracteres[];
arrayCaracteres = new char[10];

Los arrays se numeran desde el elemento cero, que sería el primer elemento, hasta el tamaño-1
que sería el último elemento. Es decir, si tenemos un array de diez elementos, el primer elemento
sería el cero y el último elemento sería el nueve.

Para acceder a un elemento especifico utilizaremos los corchetes de la siguiente forma.


Entendemos por acceso, tanto el intentar leer el elemento, como asignarle un valor.

arrayCaracteres[numero_elemento];

Por ejemplo, para acceder al tercer elemento lo haríamos de la siguiente forma:

// Lectura de su valor.
char x = arrayCaracteres[2];
// Asignación de un valor:
arrayCaracteres[2] = 'b'

El objeto array, aunque podríamos decir que no existe como tal, posee una variable, la cual
podremos utilizar para facilitar su manejo.

Tamaño del array: .length

Esta variable nos devuelve el número de elementos que posee el array. Hay que tener en cuenta
que es una variable de solo lectura, es por ello que no podremos realizar una asignación a dicha
variable.

Por ejemplo esto nos serviría a la hora de mostrar el contenido de los elementos de un array:

char array[];
array = new char[10];
for (int x=0;x

1
Matrices en Java

Podremos declarar arrays de varios subíndices, pudiendo tener arrays de dos niveles, que serían
similares a las matrices, arrays de tres niveles, que serían como cubos y así sucesivamente, si bien
a partir del tercer nivel se pierde la perspectiva geométrica. Para declarar e inicializar un array de
varios subíndices lo haremos de la siguiente manera:

tipo_dato nombre_array[][];

nombre_array = new tipo_dato[tamaño][tamaño];

De esta forma podemos declarar una matriz de 2x2 de la siguiente forma:

int matriz[][];

matriz = new int[2][2];

El acceso se realiza de la misma forma que antes:

int x = matriz[1][1]; // Para leer el contenido de un elemento


matriz[1][1] = x; // Para asignar un valor.

Hay que tener en cuenta que para mostrar su contenido tendremos que utilizar dos bucles. Para
saber el número de columnas lo haremos igual que antes mediante la variable length, pero para
saber el numero de filas que contiene cada columna lo tendremos que realizar de la siguiente
manera:

matriz[numero_elemento].lenght

Nuestra lectura de los elementos de una matriz quedaría de la siguiente forma:

int matriz[][];

matriz = new int[4][4];


for (int x=0; x < matrix.length; x++)

{ for (int y=0; y < matriz[x].length; y++) {

System.out.println (matriz[x][y]); } }

2
Inicializacion de Arrays

Existe una forma de inicializar un array con el contenido, amoldándose su tamaño al número de
elementos a los que le inicialicemos. Para inicializar un array utilizaremos las llaves de la
siguiente forma:

tipo_dato array[] = {elemento1,elemento2,...,elementoN};

Así, por ejemplo, podríamos inicializar un array o una matriz:

// Tenemos un array de 5 elementos.

char array[] = {'a','b','c','d','e'};

// Tenemos un array de 4x4 elementos.

int array[][] = { {1,2,3,4}, {5,6,7,8}};

3
Un array es un medio de guardar un conjunto de objetos de la misma clase. Se accede a cada
elemento individual del array mediante un número entero denominado índice. 0 es el índice del
primer elemento y n-1 es el índice del último elemento, siendo n, la dimensión del array. Los
arrays son objetos en Java y como tales vamos a ver los pasos que hemos de seguir para usarlos
convenientemente

 Declarar el array
 Crear el array
 Inicializar los elementos del array
 Usar el array

Declarar y crear un array

Para declarar un array se escribe

tipo_de_dato[] nombre_del_array;

Para declarar un array de enteros escribimos

int[] numeros;

Para crear un array de 4 número enteros escribimos

numeros=new int[4];

La declaración y la creación del array se puede hacer en una misma línea.

int[] numeros =new int[4];

Inicializar y usar los elementos del array

Para inicializar el array de 4 enteros escribimos

numeros[0]=2;
numeros[1]=-4;
numeros[2]=15;
numeros[3]=-25;

Se pueden inicializar en un bucle for como resultado de alguna operación

for(int i=0; i<4; i++){


numeros[i]=i*i+4;
}

4
No necesitamos recordar el número de elementos del array, su miembro dato length nos
proporciona la dimensión del array. Escribimos de forma equivalente

for(int i=0; i<numeros.length; i++){


numeros[i]=i*i+4;
}

Los arrays se pueden declarar, crear e inicializar en una misma línea, del siguiente modo

int[] numeros={2, -4, 15, -25};


String[] nombres={"Juan", "José", "Miguel", "Antonio"};

Para imprimir a los elementos de array nombres  se escribe

for(int i=0; i<nombres.length; i++){


System.out.println(nombres[i]);
}

Java verifica que el índice no sea mayor o igual que la dimensión del array, lo que facilita mucho
el trabajo al programador.

Para crear un array de tres objetos de la clase Rectangulo se escribe

 Declarar

Rectangulo[] rectangulos;

 Crear el array

rectangulos=new Rectangulo[3];

 Inicializar los elementos del array

rectangulos[0]=new Rectangulo(10, 20, 30, 40);


rectangulos[1]=new Rectangulo(30, 40);
rectangulos[2]=new Rectangulo(50, 80);

O bien, en una sola línea

Rectangulo[] rectangulos={new Rectangulo(10, 20, 30, 40),


new Rectangulo(30, 40), new Rectangulo(50, 80)};

 Usar el array

Para calcular y mostrar el área de los rectángulos escribimos

for(int i=0; i<rectangulos.length; i++){


System.out.println(rectangulos[i].calcularArea());

5
}

Arrays multidimensionales

Una matriz bidimensional puede tener varias filas, y en cada fila no tiene por qué haber el mismo
número de elementos o columnas. Por ejemplo, podemos declarar e inicializar la siguiente matriz
bidimensional

double[][] matriz={{1,2,3,4},{5,6},{7,8,9,10,11,12},{13}};

 La primer fila tiene cuatro elementos {1,2,3,4}


 La segunda fila tiene dos elementos {5,6}
 La tercera fila tiene seis elementos {7,8,9,10,11,12}
 La cuarta fila tiene un elemento {13}

Para mostrar los elementos de este array bidimensional escribimos el siguiente código

for (int i=0; i < matriz.length; i++) {


for (int j=0; j < matriz[i].length; j++) {
System.out.print(matriz[i][j]+"\t");
}
System.out.println("");
}

Como podemos apreciar, matriz.length nos proporciona el número de filas (cuatro), y


matriz[i].length, nos proporciona el número de elementos en cada fila.

Mostramos los elementos de una fila separados por un tabulador usando la función print. Una vez
completada una fila se pasa a la siguiente mediante println.

Los arrays bidimensionales nos permiten guardar los elementos de una matriz. Queremos crear y
mostrar una matriz cuadrada unidad de dimensión 4. Recordaremos que una matriz unidad es
aquella cuyos elementos son ceros excepto los de la diagonal principal i==j, que son unos.
Mediante un doble bucle for recorremos los elementos de la matriz especificando su fila i y su
columna j. En el siguiente programa

 Se crea una matriz cuadrada de dimensión cuatro


 Se inicializa los elementos de la matriz (matriz unidad)
 Se muestra la matriz una fila debajo de la otra separando los elementos de una fila por
tabuladores.

6
public class MatrizUnidadApp {
public static void main (String[] args) {
double[][] mUnidad= new double[4][4];

for (int i=0; i < mUnidad.length; i++) {


for (int j=0; j < mUnidad[i].length; j++) {
if (i == j) {
mUnidad[i][j]=1.0;
}else {
mUnidad[i][j] = 0.0;
}
}
}

for (int i=0; i < mUnidad.length; i++) {


for (int j=0; j < mUnidad[i].length; j++) {
System.out.print(mUnidad[i][j]+"\t");
}
System.out.println("");
}
}
}

Un ejemplo del uso de break con etiqueta y arrays multidimensionales

int[][] matriz={ {32, 87, 3, 589},


{12, -30, 190, 0},
{622, 127, 981, -3, -5}};
int numero=12;
int i=0, j=0;

buscado:
for(i=0; i<matriz.length; i++){
for(j=0; j<matriz[i].length; j++){
if(matriz[i][j]==numero){
break buscado;
}
}
}
System.out.println("buscado: matriz("+ i+",
"+j+")="+matriz[i][j]);

7
CARACTERISTICAS

Un array se caracteriza por:

- Almacenar los elementos del array en posiciones de memoria contínua

- Tener un único nombre de variable que representa a todos los elementos, y éstos a su vez se
diferencian por un índice o subíndice.

- Acceso directo o aleatorio a los elementos individuales del array.

 todos los arrays son de tamaño variable, tanto si se especifica como no un tamaño al ser
declarados
 Para ver el contenido de los arrays según van siendo ejecutadas las líneas de código que
los declaran, utilizaremos la ventana Locales del depurador, que muestra las variables de
ámbito local al procedimiento que estamos ejecutando actualmente
 Los arrays se crean con el operador new seguido del tipo y número de elementos.
 Se puede acceder al número de elementos de un arraycon la variable miembro implícita
length (por ejemplo, vect.length).
 Se accede a los elementos de un array con los corchetes [] y un índice que varía de 0 a
length-1.
 Se pueden crear arrays de objetos de cualquier tipo. En principio un array de objetos es un
array de referencias que hay que completar llamando al operador new.
 Los elementos de un array se inicializan al valor por defecto del tipo correspondiente
(cero para valores numéricos, la cadena vacía para Strings, false para boolean, null para
referencias).
 Como todos los objetos, los arrays se pasan como argumentos a los métodos por
referencia.
 Se pueden crear arrays anónimos (por ejemplo, crear un nuevo array como argumento
actual en la llamada a un método).

8
Arrays en Java

 En Java, los Array pueden ser de cualquier tipo de dato, incluidos objetos.
 El tipo de dato Array es, a su vez, un objeto.
 Las variables del tipo Array se declaran utilizando [], del siguiente modo:

tipo_basico[] nombre_variable

 Por ejemplo,

int[] fila;

declara la variable fila del tipo Array de datos del tipo int.

 Estas variables almacenarán la referencia al objeto.


 Para crear el objeto, se utiliza el operador new de la forma:

new tipo_basico[numero_de_elementos]

 Por ejemplo,

fila = new int[100];

crea el objeto que puede almacenar 100 enteros.

 Se puede declarar la variable y crear el objeto en la misma instrucción:

int[] fila = new int[100];

También podría gustarte