miércoles, 22 de agosto de 2007

Ordenando una lista Collections

Para ordenar una lista en Java, basta con implementar un comparador y hacer una llamada a la clase Collections. Incluso puede hacerse con una clase anónima como es el ejemplo que les muestro:


LinkedList solicitudes = new LinkedList();
/*imaginemos que miDelegate.getSolicitudes() me devuelve una lista LinkedList donde cada elemento es un objeto de tipo MiObjeto, que lo que tiene es un atributo long llamado id*/
solicitudes = miDelegate.getSolicitudes();

Collections.sort(solicitudes,
new Comparator()
{
/**
* Metodo encargado de realizar la comparacion.
* Ordena descendentemente por el identificador.
*/
public int compare(Object a, Object b)
{
long idA = Long.parseLong(((MiObjeto)a).getId());
long idB = Long.parseLong(((MiObjeto)b).getId());

if (idA>idB){
return -1;
}else if (idA<idB){
return 1;
}else{//son iguales
return 0;
}
}
}
);

No hay comentarios: