Java 亚马逊';s S3按日期顺序返回对象摘要?

Java 亚马逊';s S3按日期顺序返回对象摘要?,java,android,amazon-s3,Java,Android,Amazon S3,当我通过amazonS3Client.listObjects()从S3请求对象摘要时,列表将按字母顺序返回 有人知道如何让S3按日期(lastModified)顺序返回对象,以便首先返回最新的对象吗 谢谢。有趣的问题。 在我看来,ListObject的问题在于您必须下载对象,这些对象的大小可以是GB 对此没有解决方案,但我在.net开发论坛中找到了一个解决方法 只需将列表排序 Java8 s3ObjectSummaries.sort(Comparator.comparing(S3ObjectSu

当我通过
amazonS3Client.listObjects()
从S3请求对象摘要时,列表将按字母顺序返回

有人知道如何让S3按日期(lastModified)顺序返回对象,以便首先返回最新的对象吗

谢谢。

有趣的问题。 在我看来,ListObject的问题在于您必须下载对象,这些对象的大小可以是GB

对此没有解决方案,但我在.net开发论坛中找到了一个解决方法


只需将列表排序

Java8

s3ObjectSummaries.sort(Comparator.comparing(S3ObjectSummary::getLastModified));
之前

Collections.sort(s3ObjectSummaries, new Comparator<S3ObjectSummary>() {
    public int compare(S3ObjectSummary o1, S3ObjectSummary o2) {
        return o1.getLastModified().compareTo(o2.getLastModified());
    }
});
Collections.sort(s3ObjectSummaries,新的Comparator(){
公共整数比较(S3ObjectSummary o1、S3ObjectSummary o2){
返回o1.getLastModified().compareTo(o2.getLastModified());
}
});

如果您将它们作为
列表加载
,您可以在下载后使用
Comparator
以任何方式订购它们汉克斯,是的,我可以使用Comparator订购返回的内容,但如果我的存储桶中有1000多个项目,则不能保证在前1000个项目内返回最新的对象,此外,对于一个移动应用程序,我使用分页,一次只请求20个项目。因此,我要求s3首先只返回最新的对象。如果ListObject结果被截断(即分页),这将不起作用