繁体   English   中英

Java数组,数组列表,哈希图并使用它们

[英]java arrays, array list, hashmaps and using them

我是Java的新手,在数组和哈希映射方面遇到了很大的麻烦。

问题:我正在从包括两个ArrayList的Amazon S3服务中获取objectListing。 (ObjectSummaries和commonPrefixes)。

我遍历它们并将它们添加到列表字符串中。 这是我的代码

    try {
        AmazonS3 s3client = new AmazonS3Client(new BasicAWSCredentials(access_key_id, secret_access_key));

        ObjectListing listKey = s3client.listObjects(new ListObjectsRequest().withBucketName(bucket).withPrefix(key).withDelimiter("/"));
        List<String> keys = new ArrayList<String>();
        for(String obj2: listKey.getCommonPrefixes()){
            String test=obj2;
            keys.add(test);
        }
        for (S3ObjectSummary obj : listKey.getObjectSummaries()) {
            keys.add(obj.getKey());
        }
        return keys;

    } catch (AmazonServiceException x) {
        String errorCode = x.getErrorCode();
        if (!errorCode.equals("NoSuchKey")) {
            throw x;
        }
    }

这给了我带字符串键的列表。 但是现在我也想获取对象摘要的键的大小和最后修改的时间。 我应该能够知道添加到密钥中的对象摘要的每个密钥的大小和最后修改的时间。

我不知道我应该使用hashmap还是什么? 我不知道该怎么做。

这是您可以执行的操作:

  1. 创建具有所需参数的类

     public class MyObject { private String key; private int size; private Date lastModified; public MyObject() {} public MyObject(String key, int size, Date lastModified) { this.key = key; this.size = size; this.lastModified = lastModified; } /* Getters-Setters*/ } 
  2. 创建MyObject列表而不是String

     List<MyObject> myObj = new ArrayList<MyObject>(); 
  3. 将值添加到列表

     for (S3ObjectSummary obj : listKey.getObjectSummaries()) { myObj.add(new MyObject(obj.getKey(), obj.getSize(), obj.getLastModified())); } 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM