Hallo,
ich sitze jetzt schon seit Tagen an folgendem Problem:
Habe eine LinkedList mit den Objekten <Person>.
Diese Objekte möchte ich 1. nach Name sortieren und ausgeben und 2. nach Alter sortieren und ausgeben.
Punkt 1. habe ich mit Collections.sort und Comparable gelöst:
und hier wird es aufgreufen: (und es funktioniert sogar)
Mein Problem:
Wie kann ich jetzt eine zweite Art der Sortierung implementieren?? Der Benutzer sucht aus wie er es sortiert haben will und demnach springt man in die entsprechende Methode. aber der Befehl Collections.sort(person) ist ja genauso vorgegeben wie der Name der compareTo-Methode, sodass nicht einfach in eine anders benannte Methode gehen kann.
Ich hoffe, dass ich das Problem gut genug beschreiben konnte!
Vielen Dank im voraus und liebe Grüße!
ich sitze jetzt schon seit Tagen an folgendem Problem:
Habe eine LinkedList mit den Objekten <Person>.
Diese Objekte möchte ich 1. nach Name sortieren und ausgeben und 2. nach Alter sortieren und ausgeben.
Punkt 1. habe ich mit Collections.sort und Comparable gelöst:
Java:
public class Person implements Comparable <Person>{
public int compareTo(Person person){
int ascii1 = (int)this.name.charAt(0);
int ascii2 = (int)person.name.charAt(0);
if(ascii1 < ascii2)
return -1;
if(ascii1 > ascii2)
return 1;
return 0;
}
}
und hier wird es aufgreufen: (und es funktioniert sogar)
Code:
public void gibAusName(LinkedList <Person> person){
Collections.sort( person);
Iterator <Person> iterator = person.iterator();
while(iterator.hasNext()){
Person tmp = iterator.next();
Ausgabe.gibAus(tmp);
}
}
Mein Problem:
Wie kann ich jetzt eine zweite Art der Sortierung implementieren?? Der Benutzer sucht aus wie er es sortiert haben will und demnach springt man in die entsprechende Methode. aber der Befehl Collections.sort(person) ist ja genauso vorgegeben wie der Name der compareTo-Methode, sodass nicht einfach in eine anders benannte Methode gehen kann.
Ich hoffe, dass ich das Problem gut genug beschreiben konnte!
Vielen Dank im voraus und liebe Grüße!