【发布时间】:2019-07-07 14:07:23
【问题描述】:
我想创建一个通用的 bst ,每个节点都有键和值,方法和键将工作。 我必须在 Tree 类中扩展可比性吗?还是只在节点类中?
我试图弄清楚我是否必须通过节点扩展可比较的,或者仅通过键就足够了。
public class ThreadedGenericNode<K,V> implements Comparable<ThreadedGenericNode<K,V>>
{
K _key;
V _value;
private ThreadedGenericNode _right;
private ThreadedGenericNode _left;
private ThreadedGenericNode _parent;
private boolean isThreadedRight;
private boolean isThreadedLeft;
public ThreadedGenericNode(K key,V value)
{
this._right = null;
this._left = null;
this._parent = null;
this.isThreadedLeft = true;
this.isThreadedRight = true;
this._key = key;
this._value = value;
}
@Override
public int compareTo(ThreadedGenericNode<K, V> o) {
if(this._key > o._key)
return 1;
return 0;
}
}
我得到编译错误:“运算符 > 未定义参数类型 K”
所以我必须使用 K 扩展 Comparable? 或工具? 最后关键是整数, 那么有什么办法呢?
【问题讨论】:
标签: java generics tree binary binary-search-tree