如何使用Comparable比较链接列表中的通用节点?
|
我正在使用链接列表实现排序列表。我的节点类看起来像这样
public class Node<E>{
E elem;
Node<E> next, previous;
}
在排序列表类中,我具有add方法,在这里我需要根据它们的compareTo()方法的实现来比较通用对象,但出现此语法错误
\“类型E \的方法compareTo(E)未定义。”我曾尝试在Node中实现compareTo方法,但后来我无法调用任何对象的方法,因为E是泛型类型。
这是add(E elem)方法的未完成主体。
public void add(E elem)
{
Node<E> temp = new Node<E>();
temp.elem = elem;
if( isEmpty() ) {
temp.next = head;
head.previous = temp;
head = temp;
counter++;
}else{
for(Node<E> cur = head; cur.next != null ; cur= cur.next) {
**if(temp.elem.comparTo(cur.elem)) {**
//do the sort;
}/*else{
cur.previous = temp;
}*/
}
//else insert at the end
}
}
这是实现比较对象方法的对象之一
public class Patient implements Comparable<Patient>{
public int compareTo(Patient that)
{
return (this.getPriority() <= that.getPriority() ? 1 : 0 );
}
}
没有找到相关结果
已邀请:
4 个回复
坊岔埠绵
它将立即编译。
勺的驴吓识
这样可以确保每个
都实现
接口,因此您可以安全地调用
方法。
才脊烽馈低
方法。但是,您将无法添加未实现此接口的元素。
孤捷侩