对于家庭作业,我被分配制作一个AVL Tree数据结构。
我正在尝试使我的“添加”方法向树中添加一条通用数据。
我的问题是,在分配过程中,我们必须扩展一个给我们的名为“ BinaryTree”的类。
在我的add方法中,我需要使用compareTo方法,我认为这意味着我还必须扩展Comparable。
我在网上看过,显然您不能扩展两个课程,所以这成为一个问题。我决定尝试在AVL树类中编写自己的compareTo方法,但是它表示无法应用于我的泛型类型。
有任何提示或快速解决方法吗?还是我只是愚蠢?

谢谢
 -史蒂夫

最佳答案

您可以使用泛型来指定类型,并要求其实现Comparable。这样,您就可以访问AVL树中的type和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/

10-11 00:44