如何实现比较器来对android或java中的对象进行排序

ARP*_*ARP 3 java sorting android

让我从以下示例开始:

public void loadList(ArrayList<Calls> list) {
    List<Calls> calls = new ArrayList<Calls>();
    calls.addAll(list);
}
Run Code Online (Sandbox Code Playgroud)

哪里Calls是一个简单的类:

public class Calls {
    public long ms;
    public name;     
} 
Run Code Online (Sandbox Code Playgroud)

我想List<Calls>根据ms字段按升序或降序对上面的内容进行排序.我遇到了一些例子,Comparator但仍然不清楚.

小智 14

我想这会有所帮助

public void loadList(ArrayList<Calls> list) {
    List<Calls> calls = new ArrayList<Calls>();
    calls.addAll( list );

    // Ascending Order
    Collections.sort(calls, new Comparator<Calls>() {

        @Override
        public int compare(Calls o1, Calls o2) {
            return (int)(o1.ms-o2.ms);
        }
    });
    // Descending Order
    Collections.sort(calls, new Comparator<Calls>() {

        @Override
        public int compare(Calls o1, Calls o2) {
            return (int)(o2.ms-o1.ms);
        }
    });
}
Run Code Online (Sandbox Code Playgroud)