Java 使用长类型的对象参数对对象列表进行排序
我的post类包含以下参数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:
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)
比较?