jav*_*2.0 1 java arrays sorting arraylist
我已经看到了一些关于Java中存在错误的集合排序的问题.我显示的错误是这样的:
sort(List<T>)类型中的方法Collections不适用于参数(ArrayList<Time>)
我导入了java.util.Collections和ArrayList.我还导入了我正在调用的类.这是我的代码:
在被调用的类中:
private ArrayList<Time> times;
...
public ArrayList<Time> getTimes() {
return this.times;
}
Run Code Online (Sandbox Code Playgroud)
在类我调用数组列表:
public class TimeTUI {
private Scanner scan;
private TimeManager timeManager;
...
private ArrayList<Time> getSortedTimes() {
ArrayList<Time> sortedTimes = this.timeManager.getTimes();
Collections.sort(sortedTimes);
return sortedTimes;
}
Run Code Online (Sandbox Code Playgroud)
错误出现在显示的行上:
Collections.sort(sortedTimes);
Run Code Online (Sandbox Code Playgroud)
课程时间必须是可比较的.
Collections.sort(List)期望类T实现Comparable接口.如果您使用了许多内置类,则不会发现问题,但对于自定义类,sort不知道如何对它们进行排序.因此,通过实现Comparable接口,您可以为方法compareTo提供定义.
public class Time implements Comparable {
public int compareTo(Object o) {
// provide your logic of how to sort Time objects.
}
}
Run Code Online (Sandbox Code Playgroud)