【发布时间】:2020-01-27 00:05:33
【问题描述】:
考虑下面的代码:
class Employee implements Comparable<Employee>{
int id;
public Employee(int i) {
this.id=i;
}
@Override
public int compareTo(Employee other) {
return -1;
}
public String toString() {
return String.valueOf(id);
}
}
public class S13_0 {
public static void main(String[] args) {
List<Employee> list=Arrays.asList(new Employee(40),new Employee(67),new Employee(32));
Collections.sort(list);
System.out.println(list);
}
}
在这段代码中,我们只是使用 ID 为 [40,67,32] 的员工对象列表 并使员工具有可比性。 现在我已经知道可比性通常是如何起作用的。 但我只是想知道在这种情况下我们何时返回 -1(负整数值) 无论输入如何,排序方法如何应用于列表并打印列表 以相反的顺序。
Output is : [32, 67, 40]
【问题讨论】:
-
效果不佳
-
它使用
compareTo()来确定列表的顺序。 -
是的,我同意它效果不佳,但问题是为什么它总是以相反的顺序打印列表?
标签: java collections comparator comparable