Один из вариантов, упомянутых здесь коллегами, заключается в реализации пользовательского компаратора для комментариев. Альтернативный подход заключается в реализации интерфейса Comparable в классе комментариев.
import java.util.*;
class Comment implements Comparable<Comment> {
private String id, String name;
private Date date;
public Comment(String id, String name, Date date) {
this.id = id;
this.name = name;
this.date = date;
}
public int compareTo(Comment comment) {
return date.compareTo(o2.date); //Look Ma! Date is Comparable too!
}
}
class Test {
public static void main(String[] args) {
List<Comment> comments = new ArrayList<Comment>() {{
long now = System.currentTimeMillis();
add(new Comment("id1", "second", new Date(now)));
add(new Comment("id2", "first", new Date(now - 1000)));
add(new Comment("id3", "third", new Date(now + 1000)));
}};
Collections.sort(comments);
}
}
В моем примере я использовал код @aioobe.