Nun, diese Klasse ist sicherlich nicht die "Standard-Java-Klasse". Ich vermute, dein Lehrer meint vielleicht TreeSet
die auf einer Form von selbstbalancierender binärer Baum .
Ich bin nicht sicher, wie alt die Klasse der Link, den Sie geben, ist, aber es ist nicht mit Generika, so dass es wahrscheinlich Java 1.4- ist. Außerdem verwendet sie das Standardpaket, was in Java nicht üblich ist und darauf hindeutet, dass sie möglicherweise nicht produktionsreif ist. Der Konstruktor erwartet ein Comparator
der die Instanzen, die der Baum speichern wird, vergleichen kann. Wenn Sie z.B. Ganzzahlen in einer Reihenfolge speichern wollen, könnten Sie einen binären Baum wie folgt deklarieren:
BinaryTree bt = new BinaryTree(new Comparator(){
public int compare(Object a, Object b){
return ((Integer) a).intValue() - ((Integer) b).intValue();
}
});
Der obige Code deklariert eine anonyme Klasse, die die Comparator
Schnittstelle. Alternativ können Sie auch eine reguläre Klasse verwenden, um dasselbe zu tun:
MyIntegerComparator comparator = new MyIntegerComparator();
BinaryTree bt = new BinaryTree(comparator);
Wo Sie den Code haben
class MyIntegerComparator implements Comparator {
public int compare(Object a, Object b){
return ((Integer) a).intValue() - ((Integer) b).intValue();
}
}