Liste nach einer Variablen sortieren

F

Floo_08

Mitglied
Hallo zusammen,
ich bin es nochmal.
Ich verzweifle seit Stunden an einer Aufgabe.
Ich habe eine unsortierte Liste mit Patienten. Jeder Patient hat einen Namen und eine Uhrzeit (als int). Nun möchte ich die Liste nach der Uhrzeit der Patienten sortieren (also 1000 vor 1800 usw.).

Meine Idee war, eine zweite Liste zu erstellen und dann immer passend reinzukopieren.
Kann mir jemand helfen? Bin langsam echt am verzweifeln :(
 
Robat

Robat

Top Contributor
Ich würde die Klasse Patient das Interface Comparable implementieren lassen.
Dann kannst du einfach die Methode Collections.sort() nutzen und deine Liste sortieren lassen.

Beispiel:
Java:
public class Patient implements Comparable<Patient> {
        private int time;
        public Patient(int time) {
            this.time = time;
        }
       
        @Override
        public int compareTo(Patient o) {
            return Integer.compare(this.time, o.time);
        }

        @Override
        public String toString() {
            return "" + time;
        }
 }

public class Test {
    public static void main(String[] args) {
        List<Patient> list = Arrays.asList(new Patient(100), new Patient(40), new Patient(1000));
        Collections.sort(list);
        System.out.println(list);
    }
}
 
F

Floo_08

Mitglied
Also ich habe es jetzt mal so probiert, aber irgendwie spuckt er mir kein Ergebnis aus :D
Java:
public class Kasse
{
    private Praxis praxis;
    private BinarySearchTree<Praxis> verwaltung;
    private List<Patient> liste;
    private DatabaseConnector con;
    private QueryResult res;
    private Patient temp;

    public Kasse(){
        verwaltung = new BinarySearchTree<Praxis>();

    }

    public void patientenEmpfangen(Praxis pPraxis){
        verwaltung.insert(pPraxis);
    }

    public BinarySearchTree<Praxis> getBaum(){
        return verwaltung;  
    }

    public void speichern(List<Patient> pList){
        con = new DatabaseConnector("",0,"Datenbank.db","","");
        if(pList != null){
            pList.toFirst();
            while(pList.hasAccess()){
                con.executeStatement("INSERT INTO Patienten (Name, Uhrzeit) VALUES ('" + pList.getContent().getName() + "'," + pList.getContent().getUhrzeit() +")");

                pList.next();
            }
            con.close();
        }
    }

    public List<Patient> wasTueIch(){
        List<Patient> liste = new List<Patient>();
        List<Patient> tempListe = new List<Patient>();
        if(verwaltung != null){
            hilfsMethode(verwaltung, liste);
        }
        if(liste != null){
            liste.toFirst();
        }

        int check = 2359;
        while(liste.hasAccess()){
            while(liste.hasAccess()){
                if(liste.getContent().getUhrzeit() < check){
                    temp = liste.getContent();
                    check = liste.getContent().getUhrzeit();
                    liste.next();
                }
            }
            tempListe.append(temp);
            liste.toFirst();
            while(liste.getContent() != temp){
                liste.next();  
            }
            liste.remove();
            liste.toFirst();
        }

        return tempListe;
    }

    public void hilfsMethode(BinarySearchTree<Praxis> pBaum, List<Patient> pList){
        Queue<Patient> temp = pBaum.getContent().getPatientenschlange();
        if(pBaum != null && pList != null){
            while(!temp.isEmpty()){
                pList.append(temp.front());
                temp.dequeue();
            }
            if(!pBaum.getLeftTree().isEmpty()){
                hilfsMethode(pBaum.getLeftTree(), pList);
            }
            if(!pBaum.getRightTree().isEmpty()){
                hilfsMethode(pBaum.getRightTree(), pList);  
            }}
    }
}
 
Robat

Robat

Top Contributor
Wenn du die Queue eh sortierst nachdem du sie erstellt hast dann nutz doch gleich eine PriorityQueue und gib ein entsprechenden Comparator mit a la:
Java:
Queue<Patient> q = new PriorityQueue<>(new Comparator<Patient>() {
    @Override
    public int compare(Patient o1, Patient o2) {
        return Integer.compare(o1.time, o2.time);
    }
});
q.add(new Patient(20));
q.add(new Patient(30));
q.add(new Patient(100));
q.add(new Patient(15));
q.add(new Patient(75));

/* -- Ausgabe:
15
20
30
75
100
*/
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
A Einträge aus Tupeln nach Regeln in Liste speichern Java Basics - Anfänger-Themen 8
D Liste nach 2 gleichen Einträgen suchen Java Basics - Anfänger-Themen 4
L (Integer) Liste nach aufsteigender Summe der Ziffern sortieren (mit Bedingung) Java Basics - Anfänger-Themen 8
N ArrayList: Das zweite Element wird zur Liste nicht eingefügt nach dem zweiten request. Java Basics - Anfänger-Themen 3
J Liste der Größe nach sortieren Java Basics - Anfänger-Themen 2
P Liste nach Datum sortieren Java Basics - Anfänger-Themen 7
K keine Reaktion im TableModel nach ändern der liste? Java Basics - Anfänger-Themen 2
M Liste nach bestimmten Kriterien ordnen Java Basics - Anfänger-Themen 9
M Sortierte Liste nach Wert durchsuchen Java Basics - Anfänger-Themen 8
G Liste mit Artikeln nach ID sortieren Java Basics - Anfänger-Themen 6
Z Suche nach Liste? Java Basics - Anfänger-Themen 4
S Eine Liste kopieren Java Basics - Anfänger-Themen 13
java3690 Java- liste füllen ud die werte addieren Java Basics - Anfänger-Themen 13
java3690 Liste mit zufälligen zahlen füllen Java Basics - Anfänger-Themen 27
java3690 eine liste sortieren Java Basics - Anfänger-Themen 12
J Element aus Liste nehmen Java Basics - Anfänger-Themen 3
BestGoalkeeper JUnit 4: Wie man die eigene Liste testen kann [TDD] Java Basics - Anfänger-Themen 46
B Interface List - Objekt übergeben? Einzelnes Objekt geht, aber Liste nicht? Java Basics - Anfänger-Themen 4
P Was genau bringt mir es ein Array in eine Liste zu bringen Java Basics - Anfänger-Themen 3
A Doppelt verkettete Liste rückwärts ausgeben Java Basics - Anfänger-Themen 17
P Verschachtelte Array Liste Java Basics - Anfänger-Themen 2
H Liste speichern. Was lässt sich verbessern? Java Basics - Anfänger-Themen 7
P Performance Array und Liste Java Basics - Anfänger-Themen 13
M QuickSort und Liste Java Basics - Anfänger-Themen 6
N Methode um Objekte einer Liste hinzuzufügen Java Basics - Anfänger-Themen 1
B Summe von Property innerhalb einer Liste via Lambda Java Basics - Anfänger-Themen 1
V Collections int Werte in einer Liste sortieren Java Basics - Anfänger-Themen 23
B Neue Liste erstellen, wenn Objekte bestimmte Referenz hat / Gruppierung von Einträgen Java Basics - Anfänger-Themen 12
V_Fynn03 Beliebiges Element in einer Liste löschen (Java)(Lineare Datenstrukturen) Java Basics - Anfänger-Themen 9
L Baum aus Integer Liste erstellen Java Basics - Anfänger-Themen 0
UnknownInnocent Koordinate in Liste suchen Java Basics - Anfänger-Themen 20
C Verschiedene Objekte in einer Liste speichern Java Basics - Anfänger-Themen 6
M Ausgabe einer Liste welche mehrere Stacks enthält Java Basics - Anfänger-Themen 3
D Doppelt Verkettete Zirkular-Liste Java Basics - Anfänger-Themen 1
L Liste in anderem Thread laden Java Basics - Anfänger-Themen 1
M Array liste Verdrehen Java Basics - Anfänger-Themen 8
A Verkettete Liste Java Basics - Anfänger-Themen 2
J Strings untereinander in einer Liste vergleichen Java Basics - Anfänger-Themen 18
B Liste von Tagen generieren ab einem bestimmten Datum und Endedatum Java Basics - Anfänger-Themen 4
S IndexOutOfBoundsException beim hinzufügen eines Elements zu einer Liste Java Basics - Anfänger-Themen 11
B Liste sortieren? Java Basics - Anfänger-Themen 4
O Anonyme Klasse einer Liste erstellen Java Basics - Anfänger-Themen 7
B SWAP List; Liste neu anordnen Java Basics - Anfänger-Themen 4
B CSS Klassen in eine Liste schreiben Java Basics - Anfänger-Themen 4
B Doppelt verkettete Liste implementieren Java Basics - Anfänger-Themen 8
L verkettete Liste Java Basics - Anfänger-Themen 15
scratchy1 doppelt verkettete Liste testen Java Basics - Anfänger-Themen 8
O ADT Liste z. B. Java Basics - Anfänger-Themen 15
B sortierte Liste Java Basics - Anfänger-Themen 4
O Knoten und Liste verarbeitung Java Basics - Anfänger-Themen 20
R Methoden Entferne alle identische Knoten (Typ String) aus verkettete Liste Java Basics - Anfänger-Themen 8
C Methoden Über eine einfach verkettete Liste Java Basics - Anfänger-Themen 8
J Eine Liste von Listen erstellen Java Basics - Anfänger-Themen 11
Queiser Liste zurückgeben Java Basics - Anfänger-Themen 7
T Collections Geeignete Collection/Liste/Datenbank Java Basics - Anfänger-Themen 17
S spezielle Wörter aus Liste entfernen Java Basics - Anfänger-Themen 2
H Verkettete Liste Java Basics - Anfänger-Themen 7
E Elemente aus Liste löschen Java Basics - Anfänger-Themen 5
L Liste in anderem Thread laden Java Basics - Anfänger-Themen 0
A Liste aus drei Strings erstellen Java Basics - Anfänger-Themen 5
N Verkettete liste rückwärts ausgeben Java Basics - Anfänger-Themen 5
A Eingelesene Daten in Array(Liste) abspeichern? Java Basics - Anfänger-Themen 18
S Elemente in Liste einfügen Java Basics - Anfänger-Themen 2
J Liste,Queue,Stack sortieren Java Basics - Anfänger-Themen 2
K Verkettete Liste und seine Methoden Java Basics - Anfänger-Themen 1
T Collections Erstellung eines Listeneintrags einer verketteten Liste Java Basics - Anfänger-Themen 5
T Löschen in doppelt verketteter Liste Java Basics - Anfänger-Themen 1
S Iterator einer Liste Java Basics - Anfänger-Themen 4
N Verkettete Liste implementieren Java Basics - Anfänger-Themen 5
B Liste von Integer -> Nächster Wert bekommen Java Basics - Anfänger-Themen 5
N Hilfe bei verknüpfter Liste - Linkedlist Java Basics - Anfänger-Themen 11
J Hinzufügen eines Objekts in eine Liste, um später dann nochmal auf das Objekt zugreifen zu können Java Basics - Anfänger-Themen 8
S Werte in Liste mit Nachfolger vergleichen Java Basics - Anfänger-Themen 5
J mögliche Spielzüge zu Liste hinzufügen Java Basics - Anfänger-Themen 6
B Unterschiede in einer Liste erkennen Java Basics - Anfänger-Themen 1
S Doppelte Liste Einfügen Java Basics - Anfänger-Themen 1
M Liste ohne Duplikate Java Basics - Anfänger-Themen 8
C Liste o.ä. erstellen mit <Integer, <Integer, String> Java Basics - Anfänger-Themen 7
J Liste in Array Java Basics - Anfänger-Themen 2
P Liste auslesen und in Variablen speichern Java Basics - Anfänger-Themen 7
M Generische Liste aus Comparable-Objekten Java Basics - Anfänger-Themen 6
J Sortierte generische Liste Java Basics - Anfänger-Themen 1
J Invertiere Liste Java Basics - Anfänger-Themen 11
T Best Practice Liste geschickt füllen Java Basics - Anfänger-Themen 5
O Einfach verkettete Liste - Revert Methode Java Basics - Anfänger-Themen 1
D Array-Liste nur einmal ausgeben Java Basics - Anfänger-Themen 8
G Verkettete Liste - Neu erzeugte Elemente werden nicht ausgegeben Java Basics - Anfänger-Themen 5
P Zufälliges Wort direkt aus einer Liste ausgeben Java Basics - Anfänger-Themen 9
S Einfach verkettete Liste Element an bestimmter Position einfügen Java Basics - Anfänger-Themen 24
S Summe aus Kombinationen /permutationen einer Liste mit einer Obergrenze Java Basics - Anfänger-Themen 10
M Liste Implementation, doppelt next() Java Basics - Anfänger-Themen 13
S Einfach verkette Liste Java Basics - Anfänger-Themen 27
r4w Eigenschaften aus Objekt einer Liste holen Java Basics - Anfänger-Themen 3
T Auf Instanz einer Liste zugreifen Java Basics - Anfänger-Themen 2
I Collections ADT Liste Java Basics - Anfänger-Themen 3
B Doppelt Verkettete Liste - Ist alles gut so? Java Basics - Anfänger-Themen 3
kilopack15 Euromünzen in enum als Liste ausgeben Java Basics - Anfänger-Themen 11
C Verkettete Liste - sortiert einfügen Java Basics - Anfänger-Themen 7
Yamie ArrayList<Object> als Liste von Strings ausgeben? Java Basics - Anfänger-Themen 15
P Methoden ausgelesene (CSV-) Daten in Liste einer anderen Klasse einlesen Java Basics - Anfänger-Themen 0

Ähnliche Java Themen

Anzeige

Neue Themen


Oben