【问题标题】:Dynamic arrays in JavaJava中的动态数组
【发布时间】:2012-08-14 16:37:57
【问题描述】:

我正在创建一个用于排序电子邮件的目录遍历应用程序。这是一个非常简单的应用程序,可以满足我的特定需求。

我想通过首先遍历所有电子邮件文件(在几个目录中有 1000 个)并根据 eml 文件中发送/接收的信息创建新目录(使用的发送或接收名称将根据常数决定)。

我在想这样的事情

public FileVisitResult visitFile(Path file,BasicFileAttributes attrs) {
    email = getEmail(file);
    emailSentRcievedName = sentRecievedName(email);
    dirArray[currentDir + "\" + emailSentRecievedName] = file.get();
    return CONTINUE;
}

dirArray key:value 将用于文件移动实现。

我知道这个数组结构可以在 Javascript 中工作,但我该如何在 Java 中实现呢?

干杯。

【问题讨论】:

  • 您在寻找HashMap吗?
  • 另请注意,您正在构建的内容在 Java 或 JavaScript 中都不被视为“数组”。
  • 使用HashMap
  • @Pointy - 实际上,这是通常称为 associative array 的数据结构。在谈论 PHP 和 JavaScript 时,我最常看到弹出这个术语。请注意,维基百科页面列出了一个哈希表(即HashMap)作为实现数据结构的常用方法,这正是这里每个人都建议使用的方法。
  • @DaoWen 在其他语言中,但该术语在 JavaScript 中并不准确。 JavaScript 数组是一个非常特殊的东西,实际上不可能在运行时内部之外重现 Array 行为。特别要注意,对象属性没有内在的“属性计数器”;也就是说,没有直接的方法来获取对象的“大小”。

标签: java arrays dynamic directory


【解决方案1】:

改用 java.util.HashMap()!

【讨论】:

    【解决方案2】:

    尝试使用哈希图。它使您能够存储数据对

    Map<String,File> map = new HashMap<String, File>();
    map.put(currentdir +"/"+ emailSentReceivedName, file);
    
    File file = map.get(path); //will give you the file
    

    也看看这个: SortedMap,也许对你有帮助 http://docs.oracle.com/javase/1.4.2/docs/api/java/util/SortedMap.html

    Javadoc api 在这里:http://docs.oracle.com/javase/1.4.2/docs/api/java/util/HashMap.html

    【讨论】:

      【解决方案3】:

      只需使用HashMap

      Map<String, File> map = new HashMap<String, File>();
      map.put(currentdir + "\" + emailSentReceivedName, file.get());
      

      【讨论】:

        猜你喜欢
        • 2018-09-03
        • 2013-03-31
        • 1970-01-01
        • 2019-02-06
        • 2010-12-11
        • 2016-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多