Avatar billede bentblod Nybegynder
23. oktober 2008 - 14:25 Der er 2 kommentarer og
1 løsning

Sortering af objecter i en liste

Hej.

Jeg har en liste der er fyldt med objectet FileInfo hvor klassen ser ud som følgende:

public class FileInfo {
    private String filename;
    private String path;
    private String filetype;
   
    public FileInfo(){
    }
    public FileInfo(String filename, String path, String filetype){
        this.filename = filename;
        this.path = path;
        this.filetype = filetype;
    }
   
    public String getFiletype() {
        return filetype;
    }
    public void setFiletype(String filetype) {
        this.filetype = filetype;
    }
    public String getFilename() {
        return filename;
    }

    public void setFilename(String filename) {
        this.filename = filename;
    }

    public String getPath() {
        return path;
    }

    public void setPath(String path) {
        this.path = path;
    }

    public String toString(){
        return path + "\\" + filename + filetype;
    }
}

Denne liste vil jeg gerne have sorteret via "filename", er der nogen der kan hjælpe mig med at sætte sådan en function sammen? Jeg har prøvet med java.util.Collections, men ser ud til at den kun vil have en string i listen og ikke object så den kan jeg desværre ikke bruge :(
Avatar billede _carsten Nybegynder
23. oktober 2008 - 14:45 #1
Du mangler en compareTo() metode i din FileInfo og implementer Comparable

Implementering:
  public class FileInfo implements Comparable


Tilføj følgende metode:

    public int compareTo(Object o) {
        FileInfo f = (FileInfo)o;
       
        return this.getFilename().compareTo(f.getFilename());
    }
Avatar billede bentblod Nybegynder
23. oktober 2008 - 14:52 #2
Ah, lækkert nok :) Det virkede jo som det skulle. Tak skal du have :) Skriv lige som svar så du kan få dine points
Avatar billede _carsten Nybegynder
23. oktober 2008 - 14:53 #3
Svar :)
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