Вот мой код, чтобы найти позицию определенного элемента. И я использую двоичное дерево для хранения моего Словаря, я хочу знать, почему он показывает предупреждение для типа Comparable. Я должен использовать это в своем проекте, где element - строковый тип.Дерево двоичного поиска
public int get(Comparable element){
return getPosition(element,root);
}
private int getPosition(Comparable element, TreeNode root){
int count = 0;
if (root == null){
return -1;
}else{
Stack t = new Stack();
t.push(root);
while(!t.empty()){
TreeNode n = (TreeNode)t.pop();
if(element.compareTo(n.value)==0){
return count;
}else{
if(n.getLeftTree()!=null){
t.push(n.getLeftTree());
count++;
}
if (n.getRightTree()!= null){
t.push(n.getRightTree());
count++;
}
}
}
return -1;
}
}
Сопоставимый - это общий класс, который ожидает, что тип будет указан как 'Comparable element' –
SMA
(Это вернет длину пути от корня, а не к позиции в обходном порядке: вам может понадобиться _augment_.) – greybeard