jueves, 20 de octubre de 2016

Java básico #19

Ordenar Arrays. Método Arrays.sort()

Para ordenar arrays, disponemos del método sort, de la clase Arryas, para ello es necesario importarla a nuestro proyecto:
import java.util.Arrays;

Supongamos que tenemos el siguiente array:
int [] notas = {4,8,10,2,0,7,9,1};

Para ordenarlos de forma ascendente:
Arrays.sort(notas),

Para ordenarlos de forma descendente, hay que importar java.util.Collections:
Arrays.sort(notas, Collections.reverseOrder());

En caso de que solo queramos ordenar los indices 0, 2 y 3  del array ede forma ascendente
Arrays.sort(notas, 0,2,3);

En caso contrario, de forma descendente:
Arrays.sort(notas, 0,2,3, Collections.reverseOrder());

Como Collections,reverseOrder() solo funciona para arrays de objetos, si queremos ordenar de forma descendente arryas de tipos de datos simples (int, long, flat ...) debemos usar su clase envolvente (ya la veremos más adelante).
Por ejemplo, para ordenar un array de enteros de forma descendente, tendríamos que declararlo como Integer (esta es la clase envolvente de los enteros) en lugar de int:

Integer [] notas = {4,8,10,2,0,7,9,1};
Arrays.sort(notas, Collections.reverseOrder());

Ejercicio:

Crea un programa en el que se ordene los siguientes arrays, mostrarlos por pantalla:
- int [] notas = {4,8,6,7,5,12,789,254,9,6,4,3} --> De forma ascendente
- String [] idiomas = {"español","inglés","alemán","ruso","chino","árabe"} --> De forma descendente

NOTA: Cuando ordenes el array idiomas, al mostralos, árabe será el último, ya que en computación 'a' no es igual a 'á', como tampoco es igual a 'ä' ni tampoco a 'â^'.

No hay comentarios:

Publicar un comentario