我正在研究Java中的数据结构,并且在二进制搜索树中使用泛型时遇到困难.
对于我们的任务,我们将使用包含父节点,左节点和右节点以及数据值的节点来实现二进制搜索树.
在我们的案例中,数据值采用Pair对象的形式.看起来是这样的:
public class Pair {
public final A fst;
public final B snd;
public Pair(A x, B y) {
fst = x; snd = y;
}
public String toString() {
return new String("("+fst.toString()+", "+snd.toString()+")");
}
}
对与两个不同的泛型关联,第一部分是键,第二部分是与该键关联的值.
我还需要在我的BST类中实现Iterator.我正在一个看起来像这样的内部类中实现Iterator:
public Iterator> iterator() {
return new BSTMapIter>(this.root, this.size, this.order);
}
private class BSTMapIter> implements Iterator> { <=== Compiler error "> expected"
...
... (Implementation here)
...
}
我遇到的问题是编译器错误,提示“>预期”,这会导致其他编译器错误(“< identifier Expected>”等).根据我的理解,它使< Pair< K,T>>但我不知道为什么.我假设这是我在某个地方使用泛型时犯的一个错误,但是我不确定要在哪里看.
抱歉,如果我提供的内容过于含糊,但在Iterator的实现中,除其他任何地方,我的实现都没有遇到Pair问题.
谁能告诉我我在这里做错了吗???
如果需要任何其他信息,请告诉我,我将尽力提供:)