Ну, этот класс определенно не является "Java по умолчанию".Я думаю, ваш учитель может говорить о TreeSet
, основанном на форме самобалансирующегося двоичного дерева .
Я не уверен, сколькоКлассифицируйте ссылку, которую вы даете, но она не использует дженерики, так что это, вероятно, Java 1.4-.Кроме того, он использует пакет по умолчанию - что-то вроде Java no-no, предполагая, что он может быть не готов к работе.Конструктор ожидает Comparator
, который может сравнивать экземпляры, которые будет хранить дерево.Например, если вы хотите хранить целые числа в порядке, вы можете объявить двоичное дерево следующим образом:
BinaryTree bt = new BinaryTree(new Comparator(){
public int compare(Object a, Object b){
return ((Integer) a).intValue() - ((Integer) b).intValue();
}
});
Приведенный выше код объявляет анонимный класс, который реализует интерфейс Comparator
.В качестве альтернативы вы можете использовать обычный класс, чтобы сделать то же самое:
MyIntegerComparator comparator = new MyIntegerComparator();
BinaryTree bt = new BinaryTree(comparator);
Где у вас есть код ..
class MyIntegerComparator implements Comparator {
public int compare(Object a, Object b){
return ((Integer) a).intValue() - ((Integer) b).intValue();
}
}