Guten Morgen, ich weiß, dass es dieses Thema hier schon zu hauf gibt, aber ich komme trotzdem nicht darauf, wie ich das Problem in meinem speziellen Fall löse. Ich habe ein Vector mit Objekten einer Klasse Wort, welche aus einem String und einem int besteht. Jetzt will ich den Vector nach den int Werten sortieren und zwar so, dass ich die Objecte mit dem höchsten int Wert vorne (also bei 0) stehen habe. Ich weiß, irgendwie muss ich dass mit Comparable und dann mit Collections.sort() machen, aber ich verstehe nicht wie.
1. Tripple-Post ist erstmal gaaanz schlecht...
2. schreib dir ne eigene klasse, die Comparator<T> implementiert
3. mittels Collections.sort( Collection, Comparator<T> ); einfach die collection sortieren
Jepp das scheint ein Fehler des Forums gewesen zu sein. Konkret sieht die Klasse, deren Objekte ich in den Vector einfuege und dann sortieren will, so aus:
Code:
package tools;
import java.io.Serializable;
import java.util.Collections;
import java.util.Comparator;
import tools.VectorSortExample.CTimer;
public class Wort implements Serializable {
/**
*
*/
private static final long serialVersionUID = 4046521388168236799L;
String wort;
int haeufigkeit;
public Wort(String wort, int haeufigkeit) {
this.wort = wort;
this.haeufigkeit = haeufigkeit;
}
public String getWort() {
return wort;
}
public void setWort(String wort) {
this.wort = wort;
}
public int getHaeufigkeit() {
return haeufigkeit;
}
public void setHaeufigkeit(int haeufigkeit) {
this.haeufigkeit = haeufigkeit;
}
}
wenn dir Literaturbeispiele wie
Listing 11.7 com/javatutor/insel/util/ClubComparatorDemo.java
in dem angegeben Buch oder auch http://www.java2s.com/Code/Java/Collections-Data-Structure/Comparator.htm
nicht helfen und du nicht mal deine Probleme damit beschreiben kannst außer 'ich weiß von nix',
dann ist dir nicht zu helfen..
Das Problem ist einfach, was ich in die Implementierte Methode:
Code:
public int compare(Wort o1, Wort o2) {
return 0;
}
schreiben muss, um die Objekte dieser Klasse in meinen Vector nach meinem Integer zu sortieren und muss ich in der Klasse, die meinen Vector enthaellt am Ende noch etwas anderes tun, als Collections.sort() aufzurufen???
vielen vielen Dank, jetzt verstehe ich endlich was das mit dem Comparable auf sich hat... das war ja ne schwere Geburt, manchmal bin ich wohl nur etwas schwer von Begriff