2012-05-11 5 views
5

Tengo una lista matriz de objetosOrdenación de una lista matriz de objetos basado en una variable de objeto

Los objetos de la lista de matriz son la información para la universidad llamado 'ModuleInfo' (curso, tareas, dateDue)

El dateDue se ha formateado en un número entero AAAAMMDD (a partir de un calendario)

he mirado en algunas de las otras formas en que se haya hecho esto, pero no puedo sacarlo de mi cabeza qué es lo que me necesito hacer.

Lo ideal es que ya haya indicado al crear la Lista de matrices que contendrá objetos 'ModuleInfo' que podría simplemente Collection.sort (moduleDB, ModuleInfo.getDateDue) o algo similar. moduleDB es la lista de matrices

Cualquier ayuda sería muy apreciada.

Respuesta

5

Si desea utilizar Collections.sort(List list) para ordenar su lista, su objeto debe implementar la interfaz Comparable.

public class ModuleInfo implements Comparable<ModuleInfo> { 

    /* Your implementation */ 

    public int compareTo(ModuleInfo info) { 
     if (this.dateDue < info.dateDue) { 
      return -1; 
     } else if (this.dateDue > info.dateDue) { 
      return 1; 
     } else { 
      return 0; 
     } 
    } 
} 

A continuación, llame Collections.sort(moduleDB) donde tiene tipo ArrayList<ModuleInfo>.

p.s. Como se mencionó en una publicación anterior, también puede hacer que su clase implemente la interfaz Comparator para lograr resultados idénticos.

+0

Gracias por esto. ¡Funciona! – Hypergiant

+0

No hay problema, hombre. ¡Alegra oírlo! –

Cuestiones relacionadas