2012-05-11 21 views
5

Mam Lista tablicę obiektówSortowanie listy tablicę obiektów w oparciu o zmienną w obiekcie

Obiekty w listy tablicy są informacje na studia o nazwie „ModuleInfo” (oczywiście, zadania, dateDue)

dateDue została sformatowana na w RRRRMMDD Integer (z kalendarza)

szukałem w niektórych innych sposobów ludzie zrobili to, ale nie mogę uzyskać moja głowa wokół tego, co to jest, że ja musieć zrobić.

Idealnie, ponieważ już stwierdziłem podczas tworzenia listy macierzy, że będzie zawierać obiekty "ModuleInfo", które mogłyby po prostu Collection.sort (moduleDB, ModuleInfo.getDateDue) lub coś wzdłuż tych linii. moduleDB jest listą macierzy

Każda pomoc będzie bardzo cenna.

Odpowiedz

5

Jeśli chcesz posortować listę przy użyciu Collections.sort(List list), Twój obiekt musi implementować interfejs 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; 
     } 
    } 
} 

Następnie zadzwonić Collections.sort(moduleDB) gdzie ma typ ArrayList<ModuleInfo>.

p.s. Jak wspomniano we wcześniejszym poście, możesz także wprowadzić w swojej klasie interfejs Comparator, aby uzyskać identyczne wyniki.

+0

Dzięki za to. To działa! – Hypergiant

+0

Nie ma problemu, stary. Miło to słyszeć! –

Powiązane problemy