我的列表
ArrayList<MyList> list = new ArrayList<MyList>();
// name - order - info
list.add("Book ...", "1", "blah blah);
list.add("Book ...", "10", "blah blah);
list.add("Book ...", "11", "blah blah);
list.add("Book ...", "2", "blah blah);
我想根据列表在 2 秒对象中的位置对列表进行排序
然后我尝试了
Collections.sort(list);
列表类
public class MyList implements Comparable<MyList> {
...
@Override
public int compareTo(@NonNull MyList content) {
return Integer.parseInt(content.getOrder());
}
}
最佳答案
您可以将 Comparator
对象传递给 sort
方法。
Collections.sort(list, new Comparator<MyList>() {
@Override
public int compare(MyList m1, MyList m2) {
return m1.getOrder() - m2.getOrder();
}
});
如果您使用的是 java 8,您可以这样做。
Collections.sort(list, (MyList m1, MyList m2) ->
m1.getOrder() - m2.getOrder()));
关于java - android 根据obj数据对ArrayList进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42289868/