domingo, 4 de septiembre de 2016


Arrays en Java


En este articulo vamos a prender a trabajar con arrays (también conocidos como arreglos o matrices) en java, decidimos dedicarle un articulo completo debido a que es un poco más complejo entender su funcionamiento.
Que son los array?
En java los arrays (también se les conoce como arreglos o matrices) se consideran objetos y no un tipo de dato como tal, ya que al momento de declararlos podemos hacer uso de algunas propiedades y métodos de estos para ayudarnos con el manejo de la información que almacenan.
Además, otro punto a tomar en cuenta con los arrays, es que en estos solo se pueden almacenar valores de un mismo tipo de dato, por ejemplo si declaramos un array de tipo int, todos los valores que almacenemos en el tendrán que ser de tipo int.
Entonces como conclusión, los array son objetos en el que podemos almacenar una o más variables (las que necesitemos) de un solo tipo de dato.
Propiedades de los arrays
  • Los arrays se utilizan como contenedores para almacenar datos relacionados (en vez de declarar variables por separado para cada uno de los elementos del array). 
  • Todos los datos incluidos en el array son del mismo tipo. Se pueden crear arrays de enteros de tipo int o de reales de tipo float, pero en un mismo array no se pueden mezclar datos de tipo int y datos de tipo float. 
  • El tamaño del array se establece cuando se crea el array (con el operador new, igual que cualquier otro objeto).
  • A los elementos del array se accederá a través de la posición que ocupan dentro del conjunto de elementos del array.
Declaración de arrays
Muy bien, ya sabiendo que son los arrays, vamos a ver como declararlos, por ejemplo para declarar un array de tipo int, lo hacemos de la siguiente forma.
// Declaramos un array de tipo int
int[] enteros = new int[10];
Hay algunos puntos importantes a tomar en cuenta en la declaración de un array, por ejemplo, noten que en el tipo de dato le sigue dos corchetes [] (int[]), esto le indica al compilador de java que estamos declarando una variable como array (objeto) y no de una variable ordinaria, además es importante mencionar que para inicializar un array, lo hagamos mediante el operador new, ya que en java estos son definidos como objetos, por ultimo al array enteros lo inicializamos con 10 elementos (indicados entre los corchetes como se muestra en el ejemplo).
Para acceder a un elemento del array y poder almacenar un valor (o modificarlo en caso de ya tener uno asignado) lo hacemos indicando el elemento entre los corchetes de la siguiente forma.

// Accedemos al elemento del indice 0
enteros[0] = 1; // Almacenemos el valor 1
Noten que accedemos al elemento con el indice cero, esto es posible ya que en los lenguajes de programación (la mayoría) se cuenta a partir del 0 y no del 1 como normalmente lo hacemos, así que, como le asignamos 10 elementos a nuestro array, entonces estos se asignan con los indices del 0 al 9.

Nota: Cada elemento de nuestro arreglo estará identificado mediante un indice y este siempre empezara a partir de cero.

Para utilizar el valor de un elemento del array, lo hacemos indicando el indice del elemento a mostrar, ejemplo.
// Imprimir el indice 0
System.out.println(myArray[0]);

Nota: No debes utilizar mas elementos en el array de los que fueron declarados, en caso contrario nos mostrara un error el compilador ya que al momento de declararlo se reservo memoria para un total definido de elementos.

Tipos de arrays
En java podremos hacer uso de tres tipos de arrays, el primero y el que comúnmente se utiliza es el de una dimensión (array lineal), un ejemplo de este tipo de array es el que vimos anteriormente.
int[] enteros = new int[10];
El segundo tipo de array es el de dos dimensiones (array bidimensional), en este tipo de array cada elemento se asocia con una pajera de índices, es otro arreglo simple. Conceptualizamos un arreglo bidimensional como una cuadrícula rectangular de elementos divididos en filas y columnas, y utilizamos la notación (fila, columna) para identificar un elemento específico.
El trabajo con los arreglos bidimensionales es muy parecido a los arreglos lineales, la declaración de uno de ellos se da de la siguiente forma.
double[][] temperaturas = new double [2][2]; // Dos filas y dos columnas.
La asignación de datos, se hace de una forma similar a los arreglos lineales.

// Columna 1 indicada por el primer indice
temperaturas[0][0] = 20.5; // Fila 1
temperaturas[0][1] = 30.6; // Fila 2
// Columna dos indicada por el segundo indice
temperaturas[1][0] = -38.7; // Fila 1
temperaturas[1][1] = -18.3; // Fila 2

En el array bidimensional anterior declaramos dos columnas con 2 filas respectivamente cada una, es decir, tenemos 4 elementos en total para almacenar información.
Existe un tercer tipo, se trata de un array de tres dimensiones, la forma de trabajar es igual que las anteriores, no entraremos en detalle con este tipo ya que es muy rara la ocasión que necesitemos trabajar con ella.
Conclusiones
Es importante aprender a trabajar con los array, ya que los utilizaremos muy seguido en la creación de nuestras aplicaciones, así que a darle un buen repaso a este articulo, saludos.
Referencias de autores:

  • Paulo Andrade
  • Fernando Berzal