Collections.sort()错误

Bub*_*Tea 1 java compareto

我试图根据Class A的int r对B类中名为BinOrder的类型A进行排序.

但是我收到了Collections.sort(BinOrder)行的错误;

The method sort(List<T>) in the type Collections is not applicable for the arguments (ArrayList<A>)
Run Code Online (Sandbox Code Playgroud)

A类:

public class A{
int s; 
int r;

public A(int si, int ri) {
    s=si;
    r= ri;
 }
}
Run Code Online (Sandbox Code Playgroud)

B级:

import java.util.ArrayList;
import java.util.Collections;


public class B implements Comparable<A> {



    public Iterator<A> randomMethodName(int a) {
        ArrayList<A> BinOrder = new ArrayList<A>();
                A a = new A(1,3)
                A a2 = new A(1,4)

                BinOrder.add(a);
                BinOrder.add(a2);
        }

        // sort array in increasing order of r
        Collections.sort(BinOrder);
        return BinOrder;
    }

    @Override
    public int compareTo(A list) {

        return null;
    }
}
Run Code Online (Sandbox Code Playgroud)

NPE*_*NPE 8

为了能够使用单参数版本Collection.sort()ArrayListA,A应该实现的Comparable接口:

public class A implements Comparable<A> {
  ...
  @Override
  int compareTo(A rhs) {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)