Я изучаю структуры данных в 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 с двумя различными воспроизведенными с первой частью является ключевым, а второй является значением, связанным с этим ключом.
Мне также нужно реализовать Iterator в моем классе BST. Я реализую Итератор во внутреннем классе, который выглядит примерно так:
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>>
, но я понятия не имею, почему. Я предполагаю, что это ошибка, которую я сделал с использованием дженериков, но я не совсем уверен, где искать.
Прошу прощения, если то, что я предоставил, слишком расплывчато, но я не сталкивался с проблемами с Pair в моей реализации где-либо еще, но здесь, в реализации Iterator.
Может ли кто-нибудь сказать мне, что я делаю неправильно здесь ??? Если вам нужна дополнительная информация, дайте мне знать, и я сделаю все возможное, чтобы обеспечить :)