Para explicar que son los arrays en java, se debe tener muy claro lo que es una variable.
Una variable como comentamos en este artículo, es un espacio en memoria donde se almacena un dato de un tipo concreto. Por el contrario, un array o vector en java podemos definirlo de la siguiente manera.
- En primer lugar un array en java se considera es un objeto.
- Este objeto, al igual que una variable o constante, se almacena en la memoria RAM del ordenador.
- Un array o vector, almacena un conjunto de datos de un mismo tipo.
- El tipo de datos que almacena un array puede ser decimal, texto, números enteros, objetos creados por el usuario, etc.
Antes de poner el ejemplo, imaginemos la memoria del ordenador. La memoria de un PC está compuesta de celdas, cuanta más memoria, más celdas. Es igual que la batería de los ordenadores portátiles a más celdas, más duración.
¿Podemos imaginarnos como serían los arrays en java?
Veamos una similitud de como sería un vector o array en java.
En este caso tendríamos un espacio en la memoria del ordenador, con un objeto llamado «Valores». Este objeto es lo que se denomina array o vector unidimensional.
Como podemos ver, tendríamos declarado un objeto con un conjunto 8 de valores de tipo entero.
Por lo tanto podemos ver una clara diferencia entre un array o vector y una variable. Mientras que la variable, almacena un único valor, los arrays en java almacenan varios valores de un mismo tipo.
Cuando hablamos de vectores unidimensionales podéis imaginaros por ejemplo una tabla de una única fila con diferentes campos.
Además, siempre que se vaya a crear un vector, éste, va a tener unas posiciones específicas. Estas posiciones, vendrán determinadas por el número de elementos que contenga.
¿Cómo pueden ser los arrays en programación?
Según los valores que contengan los arrays, pueden existir diferentes tipos de vectores.
- Si contiene datos en todas y cada una de sus posiciones, diremos que el vector está lleno.
- En caso de que el vector contenga elementos en algunas posiciones pero no necesariamente en todas, diremos que el vector está semilleno.
- Por último, si el vector no contiene datos en ninguna de sus posiciones, diremos que el vector o array está vacío.
Y volviendo al ejemplo anterior una de las cosas más importantes que debemos tener en cuenta es lo siguiente.
¿Cómo se determinan las posiciones de un array?
Cómo una imagen vale más que mil palabras, vamos a fijarnos en la siguiente imagen.
Se debe tener en cuenta que que para nosotros la primera posición de un vector sería la posición 1. Sin embargo, para un ordenador la primera posición de un vector siempre será la posición cero.
Este es el motivo por el cual cuando nosotros contamos los elementos de estos objetos o de cualquier tipo de lista restamos un al total de elementos. El ordenador va a saber que tiene que contar todos los elementos, pero como el ordenador, comienza con la posición cero, por eso al final, el total de elementos del vector, que para nosotros es de 8, para el ordenador será de uno menos, es decir, 7.
¿Cómo se declaran los vectores o arrays en java?
Para declarar este tipo de objetos, lo hacemos igual que si declarásemos una variable pero con dos corchetes entre el tipo de dato y el nombre que le queramos dar al objeto. Veamos un ejemplo.
package arranque;
public class Principal {
public static void main(String[] args) {
// Declaramos un objeto de tipo array o vector
// que contenga números enteros.
int [] vector;
}
}
Sin embargo, aunque ahora mismo tenemos declarado un array de tipo entero, no hemos creado el objeto.
En este momento lo único que hemos hecho con las líneas anteriores, es reservar un espacio en la memoria del ordenador, llamado «vector» en el que posteriormente se almacenará un objeto de este tipo.
Para crear el objeto y que pueda empezar a utilizarse, usaremos la palabra reservada «new«. Esto lo hacemos de la siguiente manera.
package arranque;
public class Principal {
public static void main(String[] args) {
// Declaramos un objeto de tipo array o vector
// que contenga números enteros.
int [] vector;
// Aquí creamos el objeto para poder utilizarlo
vector = new int [8];
}
}
También podemos declarar un objeto array y crearlo en una misma línea para ahorrar líneas de código. Esto lo haríamos de la siguiente manera.
package arranque;
public class Principal {
public static void main(String[] args) {
// Declaramos un objeto de tipo array de 8 posiciones
// y lo creamos en una única línea.
int [] vector = new int [8];
}
}
Como rellenar arrays de manera manual.
Una vez creado podemos rellenarlo con los valores que queramos. En este caso lo rellenaremos con los valores del ejemplo anterior (de forma manual).
package arranque;
public class Principal {
public static void main(String[] args) {
// Declaramos un objeto de tipo array o vector
// que contenga números enteros.
int [] vector;
// Aquí creamos el objeto para poder utilizarlo
vector = new int [8];
// Relleamos el vector (de forma manual)
vector[0]=25;
vector[1]=17;
vector[2]=32;
vector[3]=15;
vector[4]=12;
vector[5]=23;
vector[6]=10;
vector[7]=6;
}
}
Para finalizar, comentar que esta forma de rellenar los arrays o vectores no suele ser ni de lejos la más habitual aunque se puede utilizar en casos muy concretos.
Ejemplo para rellenar arrays dinámicamente.
Para rellenar este tipo de objetos, utilizaremos los bucles y veremos también varios ejercicios de ejemplo para que quede más claro su uso.
A través de los bucles en java, podemos rellenar arrays o vectores de forma dinámica. Para ello debemos saber que al total de posiciones de un array se le denomína longitud. Es decir, al declarar un vector de 8 posiciones, decimos que el vector tiene una longitud total de 8 posiciones.
Además de este tipo de objetos, también podemos encontrar arrays o vectores bidimensionales. También llamadas matrices en java.