我正在學習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。
誰能告訴我我在做什麼錯在這裏? 如果需要任何進一步的信息,讓我知道,我會盡我所能提供:)