java - android 根据obj数据对ArrayList进行排序

标签 java android arrays sorting collections

我的列表

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/

相关文章:

c - 是否可以创建嵌套结构数组?如何?

java - OpenFigi API curl 到 java POST

Android:在 linux 应用程序和 Android 应用程序之间共享一个公共(public)文件夹

android - 如何访问 IntentService 的队列?

java - 电话号码到字符转换器

arrays - 需要动态规划的爬山问题

java - Spring MVC -> JSON 响应

java - 为什么在java中简单计算的值会给出错误的结果?会溢出吗?

java - android.media.audiofx.Visualizer 每隔一段时间抛出异常

android - 迁移到 View 绑定(bind)后 RecyclerView 项目宽度变为 wrap_content