gpt4 book ai didi

java - 通用编程、通用数据结构

转载 作者:行者123 更新时间:2023-12-02 06:26:24 25 4
gpt4 key购买 nike

我正在尝试实现一个二叉搜索树,如果我在java中使用通用编程,那么这棵树应该能够存储任何类型的数据,例如int、字符串或基本上任何其他对象。但这样一个类的问题在于对函数进行编码,例如如果我正在编写 addToTree 函数,那么“<”运算符可用于比较 int 并且它会成功将 int 插入树中,但不会插入字符串或其他对象,因为使用“<”运算符比较字符串和其他对象可能会不被允许。

这个问题对于其他数据结构也是一样的。

最佳答案

您应该限制 BinarySearchTree 的泛型类型,

class BinarySearchTree<T extends Comparable<? super T>>

元素应该实现Comparable接口(interface),否则你无法对元素进行排序。

编辑:正如 @JB Nizet 建议的那样,不要使用原始 Comparable

关于java - 通用编程、通用数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20487923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com