En Java, los arrays son una forma de almacenar varios valores del mismo tipo en una sola estructura. A diferencia de otras estructuras de datos, los arrays tienen un tamaño fijo una vez que se crean. Los elementos se pueden asignar a un array o recuperar de él usando un índice. Los arrays de Java usan índices basados en cero: el índice del primer elemento es 0, el del segundo es 1, etc.
Esta es la sintaxis estándar para inicializar un array:
type[] variableName = new type[size];
El type es el tipo de los elementos del array, que puede ser un tipo primitivo (por ejemplo, int) o una clase (por ejemplo, String).
El size es el número de elementos que contendrá este array (y que no se puede cambiar después).
Después de crear el array, los elementos se inicializan con sus valores predeterminados (normalmente 0, false o null).
// Declare array with explicit size (size is 2)
int[] twoInts = new int[2];
Los arrays también se pueden definir con una notación abreviada que te permite crear el array y establecer su valor al mismo tiempo:
// Two equivalent ways to declare and initialize an array (size is 3)
int[] threeIntsV1 = new int[] { 4, 9, 7 };
int[] threeIntsV2 = { 4, 9, 7 };
Como ahora el compilador puede saber cuántos elementos tendrá el array, se puede omitir la longitud.
Los elementos de un array se pueden asignar y consultar usando la notación de índice entre corchetes:
// Assign second element by index
twoInts[1] = 8;
// Retrieve the second element by index and assign to the int element
int secondElement = twoInts[1];
Acceder a un índice que está fuera de los índices válidos del array provoca una IndexOutOfBoundsException.
Los arrays se pueden manipular llamando a los métodos o propiedades de una instancia de array, o usando los métodos estáticos definidos en la clase Arrays (que normalmente solo se usan en código genérico).
La propiedad length contiene la longitud de un array.
Se puede consultar así:
int arrayLength = someArray.length;
Java también proporciona una útil clase de utilidad java.util.Arrays que tiene muchos métodos útiles relacionados con arrays (por ejemplo, Arrays.equals).
Java también admite arrays multidimensionales como int[][] arr = new int[3][4];, que pueden resultar muy útiles.
El hecho de que un array también sea una colección significa que, además de acceder a los valores por índice, puedes recorrer todos sus valores con un bucle for-each:
char[] vowels = { 'a', 'e', 'i', 'o', 'u' };
for(char vowel: vowels) {
// Output the vowel
System.out.print(vowel);
}
// => aeiou
Si quieres más control sobre qué valores recorrer, puedes usar un bucle for:
char[] vowels = { 'a', 'e', 'i', 'o', 'u' };
for (int i = 0; i < 3; i++) {
// Output the vowel
System.out.print(vowels[i]);
}
// => aei