我有一个我正在研究的项目,这就是我的开始:
public class Pair<T extends Comparable, E extends Comparable> implements Comparable{
private E e;
private T t;
public int compareTo(Pair arg0) {
// TODO Auto-generated method stub
return 0;
}
}
我需要使用此类按升序对有序对进行排序。如果第一个相等,那么它应该按发送点排序。
你能帮助我开始这个吗?
答案 0 :(得分:7)
在您的课程定义中,您的T
和E
仿制药缺乏与自己的比较。这也适用于您的Pair
课程。该类的定义应为:
public class Pair<T extends Comparable<T>, E extends Comparable<E>> implements Comparable<Pair<T, E>> {
}
现在您可以定义如何比较该对。这是一个例子:
public class Pair<T extends Comparable<T>, E extends Comparable<E>> implements Comparable<Pair<T, E>> {
private E e;
private T t;
public int compareTo(Pair<T, E> pair) {
int result = t.compareTo(pair.t);
return (result == 0) ? e.compareTo(pair.e) : result;
}
}