java - 扩展类并在通用 java 数据结构中进行比较

标签 java tree extends comparable

作为家庭作业,我被分配制作一个 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/

相关文章:

java - 将文件列出到字符串数组并从 FTP 服务器列出文件

java - 在 Java 中创建更高级的元素 : Swing or images

java - 您如何了解新的 Java 技术、工具和规范?

c++ - C++ 中是否有类似 Haskell Data.Sequence 的东西?

java - Oracle Java 存储函数 - ORA-00932 : inconsistent datatypes

javascript - 增加我的 D3 树布局的节点之间的差距

algorithm - 是否有一种算法可以在有向有根树(树状结构)中找到最小成本路径?

java - 为什么没有在此扩展 ArrayList <Integer> 类中迭代最后一个元素?

PHP - 扩展多个类

java - 我应该仅仅因为添加了一个变量就扩展一个类吗?