TreeSet anhand eines Integer Wertes sortieren

Federhalter

Mitglied
Hallo,

ich hab ein TreeSet mit Objekten,die u.a. einen integerWert haben und anhand dieses Integerwertes möchte ich das TreeSet sortieren. TreeSet braucht mindestens eine Überschriebene compareTo Methode oder einen Comparator.

Java:
@Override
    public int compareTo(Tile t) {
        return this.f.compareTo(t.f);
    }

funktioniert nicht.

Auch das verschieben der indicis hat nicht wirklich funktioniert also sowas in der Art:

if(this.wert > t.wert) return 1;
...

Wie sortiert man hier richtig ich komm nicht drauf erbitte Hilfe.

Gruß Federhalter
 

Federhalter

Mitglied
Kleiner Nachtrag:
Es geht um den A* Algorithmus. Der evaluiert bei mir 8 Knoten mit f-werten, das sind die zu sortierenden Integer Werte. Ich brauche also immer möglichst schnell von acht möglichen Knoten zur Laufzeit den mit dem geringsten Integer Wert. Momentan verwende ich noch eine ArrayList und sortiere die von Hand und das geht bei meinen Vorhaben mit Pathfinding irgendwann zu langsam, d.h. das Programm ruckelt und zuckelt was das Zeug hält. Ich könnte klar auch ein Double statt eines Integer nehmen aber wäre das dann insgesamt schneller oder eher langsamer?
 

melmager

Erfahrenes Mitglied
Code:
@Override
public int compareTo(Tile t) {
      return (t.f - this.f);
  }

Angaben wie immer ohne gewähr :)
 

melmager

Erfahrenes Mitglied
Allerdings wenn ich etwas länger drüber nachdenke:
mach doch ne Classe die TreeNode implementiert die intern deine ArrayList hat.
Über DefaultMutableTreeNode wird das Vorhaben nicht gehen.
 

Federhalter

Mitglied
Braucht man für DefaultMutableTreeNode irgendwas zusätzliches oder spezielles, weil unbedingt ne neue Klasse will ich eig nicht
 

Neue Beiträge