Invertir arreglo en Java

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.

Invertir arreglo en Java

Invertir arreglo en Java

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:

Puedes ejecutar el código haciendo click aquí.

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.