---
title: "Hämta info från textfil och sortera efter int"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/169736-hämta-info-från-textfil-och-sortera-efter-int"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "Melea"
published: "2008-03-09T12:34:16.000Z"
updated: "2008-03-09T14:30:10.000Z"
replies: 3
views: 1230
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/169736-hämta-info-från-textfil-och-sortera-efter-int"
---

# Hämta info från textfil och sortera efter int

## #1 — Melea, 2008-03-09T12:34Z

Hejsan

Blir snart tokig. Jag har en textfil som ser ut såhär:

```
Loafer,36,brown
Loafer,37,brown
Klacksko,70,white
Loafer,52,black
```

Jag vill hämta allt från textfilen, lägga dom i en ArrayList, sortera efter storlek och sen skriva ut i en jList.
Får det inte att fungera, blir tokig.

Såhär ser min GUI klass ut

```
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;

public class GUI extends javax.swing.JFrame {

    ArrayList<Shoe> shoes = new ArrayList<Shoe>();

    public GUI() {
        initComponents();
    }

    public ArrayList getContent() throws IOException {
        BufferedReader br = new BufferedReader(new FileReader("shoe.txt"));
        String text;
        String[] splitText = null;
        while ((text = br.readLine()) != null) {
            splitText = text.split(",");
            shoes.add(new Shoe(splitText[0], Integer.parseInt(splitText[1]), splitText[2]));
        }
        return shoes;
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
        
        try {
            jList1.setListData(getContent().toArray());
        } catch (IOException ex) {
            Logger.getLogger(GUI.class.getName()).log(Level.SEVERE, null, ex);
        }
  
    }

    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                new GUI().setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify                     
    private javax.swing.JButton jButton1;
    private javax.swing.JList jList1;
    private javax.swing.JScrollPane jScrollPane1;
    // End of variables declaration                   
}
```

Och såhär ser min Shoe klass ut.

```
public class Shoe implements Comparator<String> {
    
    Collator myCollator = Collator.getInstance();
    private String type;
    private int size;
    private String color;
    
    public Shoe(String _type, int _size, String _color) {
        myCollator.setStrength(Collator.PRIMARY);
        type = _type;
        size = _size;
        color = _color;
    }
    
    public int compare(String a1, String a2) {
        return myCollator.compare(a1, a2);
    }
    
    @Override
    public String toString() {
        return type + " " + size + " " + color;
    }
    
}
```

Jag har som sagt helt ny på java, och detta är en övningstenta som vi har i plugget. Men jag kommer ingen vart. Hur ska jag sköta sorteringen? Testade med Arrays.sort() men det funkar tydligen inte på en ArrayList.

Stort tack på förhand!

Permalänk: https://www.webforum.nu/p/169736

## #2 — SPiN, 2008-03-09T12:49Z

Kolla på Collections.sort(List, Comparator). Din sko-klass implementerar redan Comparator.

Permalänk: https://www.webforum.nu/p/2087007

## #3 — Melea, 2008-03-09T13:06Z

Okej, suttit och pillat lite men får inte ihop det. Hur ska jag anropa Comparator från min sko-klass via GUI:t?
Ska jag sköta sorteringen via Collections.sort(List, Comparator) i getContent() metoden eller när jag anropar metoden med knappen?

Permalänk: https://www.webforum.nu/p/2087012

## #4 — Melea, 2008-03-09T14:30Z

Lyckades lösa det genom att mublera om lite i Sko-klassen och använda Collections.sort som du tipsade om. Tack!

Permalänk: https://www.webforum.nu/p/2087023

---

Tråden på webben: https://www.webforum.nu/amne/java/169736-hämta-info-från-textfil-och-sortera-efter-int
