Avatar billede Slettet bruger
25. februar 2004 - 17:25 Der er 2 kommentarer og
1 løsning

Comparable og compareTo method

Hej...

Jeg har en klasse der hedder Kalender og i den har jeg implementeret Comparable. Min compareTo method ser sådan her ud:

  public int compareTo(Object o) {
    return this.dato.compareTo( ( (Kalender) o).dato);
  }

Hvor dato er en String. Jeg bruger så Collections.sort(kalenderVector) for at sortere dem, men jeg har også en anden string som hedder tid. Spørgsmålet går så ud på, hvordan kan jeg få mit program til først at sortere alle objekterne efter dato og derefter sortere dem efter tid?

Dato skrives som: 2004-12-25 og tiden skrives som f.eks. 23:10.
Avatar billede conrad Nybegynder
25. februar 2004 - 17:38 #1
Noget i stil med:

public int compareTo(Object o)
{
  int res = this.dato.compareTo( ( (Kalender) o).dato);
  if(res == 0)//this.dato equals o.dato
  {
    return this.tid.compareTo((Kalendar)o).tid);
  }
  else return res;
}
Avatar billede Slettet bruger
25. februar 2004 - 17:50 #2
Mange tak conrad...

Det rigtige er:

  public int compareTo(Object o)
  {
    int res = this.dato.compareTo( ( (Kalender) o).dato);
    if(res == 0)//this.dato equals o.dato
    {
      return this.tid.compareTo( ( (Kalender) o).tid);
    }
    else return res;
  }

(Skriver dette for fremtidige kig...)

Smid et svar og du får dine velfortjente points :)
Avatar billede conrad Nybegynder
25. februar 2004 - 17:52 #3
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester