java - 使用 Long 类型的对象参数对对象列表进行排序

标签 java android list

我的帖子类包含以下参数

Post:
    String PostId
    Long imestamp

List<Post> posts;

我有一个 Post 类型的对象列表,我如何根据 Post.timestamp 对这个列表进行排序。我试过比较器,它要求 int 类型。

最佳答案

只要写一个Comparator像这样:

Comparator<Post> comparator = new Comparator<Post>() {
    @Override
    public int compare(Post o1, Post o2) {
        return Long.compare(o1.timestamp, o2.timestamp);
    }
};

或者让你的Post实现 Comparable<Post> :

class Post implements Comparable<Post> {
    String PostId;
    Long timestamp = 0;

    @Override
    public int compareTo(@NonNull Post post) {
        return Long.compare(this.timestamp, post.timestamp);
    }
}

关于java - 使用 Long 类型的对象参数对对象列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50995270/

相关文章:

Java - 分割目录路径的正则表达式

android - 错误: Unknown Issue with Google Play Services

python - 用户从编号列表输入并返回列表

android - 即使没有 UI 线程任务、内存和处理器使用都正常,我的 Android 应用程序也会挂起

java - Java 中的变量列表

r - 如何使用 R 选择/查找距离列表 (X/Y) 一定距离内的坐标

java - 如何在 Android 中多次调用一个方法

java - 方法是否应该操作惰性集合?

java - "thread dump"是什么意思

java - 执行多个订阅者 rxjava