Los arrays o arreglos en Java, agrupan valores del mismo tipo guardados en una misma variable y se puede acceder de manera independiente.
Estos Arrays pueden ser unidimensionales o multidimensionales, estos arrays son muy beneficios para almacenar varios valores en una sola variable, ademas su uso en Java es muy sencilla
Array o arreglo unidimensional
Un array (o arreglo) unidimensional consta de una fila, también otros la llaman vectores de una dimensión.
Si queremos guardar las calificaciones de un conjunto alumnos podríamos utilizar un array unidimensional.
Sintaxis
tipo nombre[];
Cuando declaramos un array unidimensional y queremos recorrer este array para obtener un valor guardado debemos recorrer de 0 a n-1, “n” es igual al tamaño de nuestro array en Java.

Inicializando un array unidimensional en Java
Para inicializar un array en Java usamos el operador new, también podemos indicar el tamaño en la misma linea.
int calificaciones[]; //también puede ser valido int[] calificaciones;
calificaciones = new int[10]; // Es el tamaño del array
//Otra forma es declararlo todo a la vez
//int calificaciones[]=new int[10]
Los array de puede definir varias veces, pero debemos tomar en cuenta que cuando hacemos esto perdemos todo el contenido del array guardado.
int notas[]=new notas[42];
...
notas=new notas[31];
Array unidimensional en Java– asignando valores
Asignar un valor a un array se puede hacer de varias formas.
puntos[2]=71;
int puntos[] = {51, 85, 96};
int puntos[]= new int[] {51,85,96};
Gracias a las estructuras de control repetitivas while, do while o for de Java podemos rellenar valores de un array unidimensional.
int notas[];
int ejemplo[]=new int[10];
notas=ejemplo;
Array (arreglo) multidimensional en Java
Estos arrays manejan dos o más dimensiones.

Para entender mejor imagínense un cubo de Ruby donde cada cuadradito almacena un dato, donde el cubo Ruby sería un array de 3x3x3.
Sintaxis
int notas[][];
Inicializar un array multidimensional en Java
En los array multidimensionales también usan la instrucción “new” para hacer una nueva instancia de la clase Arrays de Java.
notas = new int[3][12];
int notas[][]=new int[5][];
notas[0]=new int[7];
notas[1]=new int[17];
notas[2]=new int[44];
notas[3]=new int[8];
notas[4]=new int[57];
Llenado de un array multidimensional en Java
int notas [][] = {{8,18,21},{15,17,11},{0,1,18}};
Generalmente para llenar y recuperar los valores de una matriz o arreglo en Java utilizamos estructuras de control repetitivas o iterativas while, do while o for.
Longitud de un array
El método length nos da la posibilidad de obtener la longitud del array unidimensional o multidimensional.
notas.length // tamaño del array
notas[2].length // tamaño del elemento
La clase Arrays
Esta clase estática es muy útil cuando necesitamos obtener o realizar algunas operaciones específicas, si la deseamos usar se ubica dentro el paquete conocido como java.utils
.
Existen muchos métodos útiles para nuestros programas, ya que su implementación es muy sencilla, a continuación se detallaran algunas.
Metodo fill
El metodo fill nos permite llenar todo el array pero de una dimensión con algún valor que le indiquemos, el array debe estar seguido del valor que deseamos rellenar el array.
int notas[]=new int[10];
Arrays.fill(notas, 9); //Se llena todo el array con 9
También se puede definir desde que índice hasta que índice queremos rellenar y con qué valor
Arrays.fill(notas,0,2,51);//Del elemento 0 al 2 sus valores cambiaran a 51
Método equals
El método equals de Java compara dos arrays o arreglos, este método nos devuelve “true” si son exactamente iguales los dos arrays, con el mismo tipo de dato, tamaño y sus valores deben ser iguales, en caso de no ser así nos devolverá falso.
Arrays.equals(array1 , array2)
Método sort
Nos da la posibilidad de ordenar nuestro array de forma ascendente
int v[]={10,6,7,12,1,4,9,11,8,3};
Arrays.sort(v);//Estará ordenado
Arrays.sort(v,2,8);//Ordena del segundo al octavo elemento del array
System.arraysCopy
Este método nos da la posibilidad de copiar un array en otro array, este método recibe cinco argumentos.
arraycopy(Object ob, int iniPos, Object destino, int destPos, int tamanio)
- src – el array principal.
- iniPos – Es la posición inicial para copiar del array principal.
- destino – el array de destino.
- destPos – posición inicial en los datos de destino.
- tamanio – Es la cantidad de elementos a copiar.
int array1[]={0,5,8,9,11};
int array2[]={4,8,6,0,1,2,4,7,9,6};
System.arraycopy(array1, 0, array2, 0, array1.length);
for (int i=0;i<=9;i++){
System.out.print(array2[i]+" ");
} //Imprime 0 5 8 9 11 2 4 7 9 6