作为家庭作业,我被分配制作一个 AVL 树数据结构。 我正在尝试使用“添加”方法将一段通用数据添加到树中。 我的问题是,在作业中我们必须扩展一个名为“BinaryTree”的类。 在我的 add 方法中,我需要使用compareTo 方法,我相信这意味着我还必须扩展Comparable。 我在网上查了一下,显然你不能延长两个类,所以这成为一个问题。我决定尝试在我的 AVL 树类中编写自己的compareTo 方法,但它说 < 和 > 不能应用于我的泛型类型。 有什么提示或快速解决方法吗?还是我只是愚蠢?
谢谢 - 史蒂夫
最佳答案
您可以使用泛型来指定类型并要求它实现 Comparable。这样您就可以访问 AVL 树中的类型和compareTo()。
public class AVL<T extends Comparable<T>> extends BinaryTree {
public void add(T object) {
...
object.compareTo(some other object)
...
}
}
然后您将其创建为 AVL<MyObject> avl = new AVL<MyObject>()
关于java - 扩展类并在通用 java 数据结构中进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6217381/