如何按对象值整数对自定义数组列表进行排序

Ant*_*ony 3 java sorting android list arraylist

我有一个名为想法的 ArrayList:

public ArrayList<Idea> ideas = new ArrayList<Idea>();
Run Code Online (Sandbox Code Playgroud)

在想法类中,我有一个名为 id 的私有整数值。

private long id;
public long getId() {return id;}
Run Code Online (Sandbox Code Playgroud)

您将如何按升序和降序对 ArrayList 进行排序?

jos*_*van 6

您可以使用Collections.sort(list,comparator)。使用这种方法你不需要编辑你的Idea类。

Collections.sort(ideas, new Comparator<Ideas>() {
    public int compare(Idea i1, Idea i2) {
        return i1 - i2;
    }
});
Run Code Online (Sandbox Code Playgroud)

要使用反向顺序,您可以使用:

Collections.sort(ideas, (new Comparator<Ideas>() {
    public int compare(Idea i1, Idea i2) {
        return i1 - i2;
    }
}).reverseOrder());
Run Code Online (Sandbox Code Playgroud)