Underc0de

Foros Generales => Dudas y pedidos generales => Mensaje iniciado por: Zepovop en Enero 07, 2017, 08:13:56 PM

Título: Java - Funcionamiento del método "compareTo"
Publicado por: Zepovop en Enero 07, 2017, 08:13:56 PM
Buenas, programando en Java, estaba intentando ordenar arrays, y aunque lo he conseguido, no entiendo el funcionamiento del método compareTo(). Es decir, el resultado es el esperado, pero no entiendo como es capaz de ordenar los valores de los arrays con el código que contiene el método. Os dejo una fotos del código:

(http://i.imgur.com/do0YBTy.png)

(http://i.imgur.com/hleLP5f.png)

Título: Re:Java - Funcionamiento del método "compareTo"
Publicado por: seth en Enero 09, 2017, 09:59:01 PM
Arrays.sort() llama a compareTo para saber cual de los dos valores va primero y despues eso lo aplica en algun algoritmo de ordenacion. El compareTo del string esta hecho para ordenar strings
Podes tener una clase tuya y poner que el compareTo ordene por el criterio que se te ocurra. Tenes que devolver -1 si el objeto es mas chico que el que viene por parametro, 1 si es mas grande y 0 si son iguales
Título: Re:Java - Funcionamiento del método "compareTo"
Publicado por: Zepovop en Enero 15, 2017, 04:02:51 PM
Okey, muchas gracias! La verdad que me has solucionado un poco mi duda, aunque no es exactamente esa mi pregunta. Lo que yo quería saber es si alguien se hacía una idea de ese algoritmo o si conocía un poco más en profundidad como funcionaba, pero creo que es un poco difícil conseguir esos conocimientos. Aun así muchas graciass!!
Título: Re:Java - Funcionamiento del método "compareTo"
Publicado por: seth en Enero 17, 2017, 10:59:02 PM
Por lo que lei en internet Arrays.sort() usa quicksort para tipos primitivos y merge sort para objetos
Si buscas el nombre de cualquiera de los dos algoritmos salen un monton de explicaciones