Java ArrayList集合排序

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)

Bud*_*dha 7

课程时间必须是可比较的.

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)