List<Comment> comments 根据对象的time进行降序
时间: 2024-04-22 18:24:41 浏览: 57
要根据评论对象的时间(time)字段进行降序排序,你可以使用Java中的`Comparator`接口和`Collections.sort()`方法来实现。
假设`List<Comment>`的数据结构如下:
```java
List<Comment> comments = new ArrayList<>();
comments.add(new Comment("Comment 1", LocalDateTime.parse("2022-01-01T10:00:00")));
comments.add(new Comment("Comment 2", LocalDateTime.parse("2022-01-03T08:30:00")));
comments.add(new Comment("Comment 3", LocalDateTime.parse("2022-01-02T15:45:00")));
// ...
```
首先,你需要创建一个实现了`Comparator<Comment>`接口的比较器来指定排序规则:
```java
Comparator<Comment> commentComparator = new Comparator<Comment>() {
@Override
public int compare(Comment comment1, Comment comment2) {
return comment2.getTime().compareTo(comment1.getTime());
}
};
```
在上述比较器中,我们通过调用`getTime()`方法获取评论对象的时间字段,并使用`compareTo()`方法进行降序比较。
接下来,你可以使用`Collections.sort()`方法来对评论列表进行排序:
```java
Collections.sort(comments, commentComparator);
```
排序后的`comments`列表将根据评论对象的时间字段进行降序排列。
请确保你的`Comment`类具有`getTime()`方法来获取时间字段的值,并且时间字段是可比较的(例如使用`LocalDateTime`类)。
通过以上步骤,你可以实现根据评论对象的时间进行降序排序。
阅读全文