En este post voy a mostrarte dos maneras de invertir un arreglo (de cualquier tipo) en Java. Los arreglos son colecciones de datos a los que se accede a través de un índice, también son conocidos como arrays.

El primer método es un algoritmo “manual” programado por mí, y el segundo método utiliza un método de la clase Collections
. Vamos a ver ambos métodos.
Invertir con Collections
La clase Collections proporciona el método reverse que en realidad invierte una lista (List) pero eso no es problema, ya que podemos convertir el arreglo a una lista con Arrays.asList
. Por lo tanto tenemos:
Collections.reverse(Arrays.asList(elArreglo));
Al final del post dejaré un ejemplo completo.
Nota: el método reverse
no devuelve un arreglo, sino que lo invierte directamente.
Invertir arreglo con método manual
Este método utiliza un ciclo for e intercambia los valores del arreglo. El primer elemento se intercambia por el último, el segundo por el penúltimo y así sucesivamente.
De esta manera solo usamos una variable extra: una variable temporal para hacer el intercambio.
El ciclo que hacemos va desde 0 hasta la mitad (redondeada hacia abajo) del arreglo. Dentro del mismo hacemos el intercambio y al final de la función no es necesario regresar nada, porque hemos modificado el arreglo directamente y ahora ya está invertido.
Ejemplos para invertir arreglo con Java
A continuación dejo el código completo que demuestra las dos maneras de invertir un arreglo en Java:
Conclusión
En los ejemplos vimos cómo invertir un arreglo de cadenas, y para invertir un arreglo de otro tipo solo se necesita declarar la temporal de distinta manera, así como la firma del método; de tal manera que se cambie el tipo de dato.