如何使用Comparable比较链表中的通用节点?
发布时间:2020-05-24 20:51:07 所属栏目:Java 来源:互联网
导读:我正在使用链接列表实现排序列表.我的节点类看起来像这样 public class NodeE{ E elem; NodeE next, previous;} 在排序列表类中我有add方法,我需要根据compareTo()方法的实现来比较泛型对象,但是我得到了这个语法错误 “对于类型E,方法compareTo(E)未定义”.
|
我正在使用链接列表实现排序列表.我的节点类看起来像这样 public class Node<E>{
E elem;
Node<E> next,previous;
}
在排序列表类中我有add方法,我需要根据compareTo()方法的实现来比较泛型对象,但是我得到了这个语法错误 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
}
}
这是一个对象实现compareTo方法 public class Patient implements Comparable<Patient>{
public int compareTo(Patient that)
{
return (this.getPriority() <= that.getPriority() ? 1 : 0 );
}
}
解决方法将E绑定到可比较:public class Node<E extends Comparable<E>>{
E elem;
Node<E> next,previous;
}
它现在将编译. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
