在Java中对集合进行排序

使用的框架:Spring

使用的ORM:Hibernate

我有两节课

class BatchExceptionDetails{
...
private Set<BatchExceptionComments> batchExceptionComments;
}

class BatchExceptionComments implements Comparable<BatchExceptionComments>{
...
@Override
    public int compareTo(BatchExceptionComments o) {
        // TODO Auto-generated method stub

        return this.getAddedOn().compareTo(o.getAddedOn());
    }
}

它们使用一对多映射进行映射.

BatchExceptionDetails中有一组BatchExceptionComments.

我想在Date的基础上对集合进行排序. BatchExcpetionComment具有java.util.Date类型的属性,即addedOn.我希望最新评论成为集合的第一个元素.

我收到的集合没有排序.请你指导我出错的地方.

提前致谢

最佳答案
Set是一个接口,因此无法确定它是否可排序.您必须使用正确的实现,如TreeSet.如果您愿意
强调它是一个有序集,你应该使用SortedSet接口. TreeSet实现了SortedSet.

或者,您可以使用List,然后可以使用Collections.sort对其进行排序.

转载注明原文:在Java中对集合进行排序 - 代码日志