我正在学习java中的数据结构,并且在二叉搜索树中使用泛型时遇到了困难。迭代器和泛型在二叉搜索树实现方面的困难
对于我们的任务,我们要使用包含父节点,左节点和右节点以及数据值的节点来实现二叉搜索树。
本例中的数据值采用Pair对象的形式。这是什么样子:
public class Pair<A,B> {
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()+")");
}
}
对与与第一部分是关键,第二个是与该键关联的值的两个不同的仿制药associtated。
我还需要在BST类中实现Iterator。我在执行中的内部类,它看起来像这样的迭代器:
public Iterator<Pair<K,T>> iterator() {
return new BSTMapIter<Pair<K,T>>(this.root, this.size, this.order);
}
private class BSTMapIter<Pair<K,T>> implements Iterator<Pair<K,T>> { <=== Compiler error "> expected"
...
... (Implementation here)
...
}
我遇到的问题是一个编译器错误说“> expected
”这会导致其他编译器错误(“<identifier expected>
”等)。从我的理解,它窒息<Pair<K,T>>
,但我不知道为什么。我认为这是我在某处使用泛型所犯的错误,但我不完全确定在哪里寻找。
我很抱歉,如果我提供的内容太模糊,但我没有遇到任何其他地方在我的实现中的任何问题,但在这里实现了Iterator。
谁能告诉我我在做什么错在这里? 如果需要任何进一步的信息,让我知道,我会尽我所能提供:)