Primeros pasos con Java, arrays

Share if you like...Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0

Un array o matriz es una estructura homogénea compuesta de varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria.
Los arrays, también conocidos como vectores, matrices o arreglos, son objetos, pero con algunas características propias. Pueden ser asignados a objetos de la clase Object y los métodos de Object pueden ser utilizados con arrays.
Algunas de sus características más importantes de los arrays son las siguientes:

  • Los arrays se crean con el operador new, seguido del tipo y número de elementos.
  • La longitud de los arrays se establece mediante su creación, y una vez establecida no se puede modificar.
    No se podrá por tanto insertar posiciones ni eliminar posiciones (sí el contenido de éstas).
  • Se accede a sus elementos con los corchetes (“[” y “]”), y un índice que varía de 0 para su primera posición, hasta su longitud-1.
  • Se pueden crear arrays de objetos de cualquier tipo y de tipos primitivos. En principio un array de objetos es un array de referencias que hay que completar llamando al operador new.
  • Los elementos se inicializan al valor por defecto del tipo correspondiente (cero para valores numéricos, el caracter nulo para char, false para boolean, null para Strings y 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 al método).

Declaración:

Existen dos declaraciones equivalentes en Java:

     tipo nombreDelArray [];
     tipo[] nombreDelArray;

También se pueden declarar de más de una dimensión. Ejemplo:

     int array [][];
     int[][] array;

Inicialización

Los arrays se pueden inicializar con valores entre llaves (“{” y “}”), separados por comas. Los arrays, al igual que las demás variables, pueden ser inicalizadas en el momento de su declaración. En este caso no es necesario especificar el número de elementos máxio reservado. Se reserva el espacio justo para almacenar los elementos añadidos en la declaración. Ejemplo:

     String[] dias = {"Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"};

Una simple declaración de un array no reserva espacio en memoria, a excepción del caso anterior, en el que sus elementos obtienen la memoria necesaria para ser almacenados. Para reservar la memoria hay que llamar explícitamente a un constructor new de la siguiente forma:

     new tipoElemento[numElementos];

Ejemplo:

     int[] array;
     array = new int[5];

También se puede indicar el número de elementos durante su declaración:

     int[] array = new int[5];

Acceso

para acceder al valor de un elemento de una matriz se utiliza el nombre de la matriz, seguido de un subíndice entre corchetes. Esto es un elemento de la matriz que puede ser utilizado como cualquier otra variable. El índice del primer elemento es el cero (“0″), y el último es el número de elementos que contiene menos uno. Con lo cual el índice de un array siempre es del tipo int.
Para entenderlo de otra manera, un array de una dimensión se comporta como una fila de un tablero de ajedrez, accediendo a cada cuadro a través de su número de posición. Si fuera de dos dimensiones, sería el tablero completo de ajedrez, accediendo a cada posición primero indicando a qué fila nos referimos, y después la posición.
No es muy común utilizar arrays de más de dos dimensiones, pero en el caso de ser necesario, el ejemplo de un array de tres dimensiones serían las coordenadas espaciales de un cubo, en el que para acceder a una posición primero indicamos una fila, después una columna y por último la posición. Cuatro dimensiones corresponderían a coordenadas espacio-temporales, en el que la 4º dimensión correspondería al tiempo.
Ejemplo:

     j = array[0];
     array[4] = otroArray[2][3];

Para obtener el número de elementos de un vector en tiempo de ejecución se accede al atributo de la clase array length. No olvidemos que los vectores en Java son tratados como un objeto.

class Array
{
     public static void main(String[] args) {
          String[] colores = {"Rojo", "Verde", "Amarillo", "Negro"}
          int i;
          for (i = 0; i < colores.length; i++)
               System.out.println(colores[i]);
     }
}

Esto nos daría por pantalla:

Rojo
Verde
Azul
Amarillo
Negro

Métodos

Cabe destacar los siguientes métodos:

  • equals(): permite verificar si dos referencias son iguales.
  • clone(): permite duplicar el objeto.

En la siguiente entrada explicaremos los Arrays multidimensionales.

Share if you like...Share on Facebook0Tweet about this on TwitterShare on Google+0Share on LinkedIn0
The following two tabs change content below.
Reborn as IT Developer. Desarrollador Android y fundador de Proyecto Simio. "En realidad, yo no puedo enseñar nada a nadie, sólo puedo hacerles pensar." - Sócrates.

Deja un comentario