Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/200.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用长类型的对象参数对对象列表进行排序_Java_Android_List - Fatal编程技术网

Java 使用长类型的对象参数对对象列表进行排序

Java 使用长类型的对象参数对对象列表进行排序,java,android,list,Java,Android,List,我的post类包含以下参数 Post: String PostId Long imestamp List<Post> posts; Post: 字符串定位 长邮票 列出员额; 我有一个Post类型的对象列表,如何根据Post.timestamp对该列表进行排序。我尝试了comparator,它要求int类型。只需编写一个比较器,如下所示: Comparator<Post> comparator = new Comparator<Post>

我的post类包含以下参数

Post:
    String PostId
    Long imestamp

List<Post> posts;
Post:
字符串定位
长邮票
列出员额;

我有一个Post类型的对象列表,如何根据
Post.timestamp
对该列表进行排序。我尝试了comparator,它要求
int
类型。

只需编写一个
比较器
,如下所示:

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

只需编写一个比较器,如下所示:

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

您可以使用lambda expresion并将其放在一行上

 Collections.sort(posts, Comparator.comparing(Post::timestamp));

您可以使用lambda expresion并将其放在一行上

 Collections.sort(posts, Comparator.comparing(Post::timestamp));

你可以循环通过你的id并使用Long.compare(Long x,Long y)。你可以循环通过你的id并使用Long.compare(Long x,Long y)。谢谢@user8035311,我需要在我的Post类中实现Comparator,对吗?@dhirajkadm Yep,我也在我的答案中添加了这个。为什么不
返回Long.compare(timestamp,Post.timestamp)
compareTo(Post-Post)
?谢谢,@user8035311,我需要在我的Post类中实现Comparator,对吗?@Dhirajkadam-Yep,我也在我的答案中添加了这个。为什么不
返回Long.compare(timestamp,Post.timestamp)
中与(Post Post)
比较?