Java的。我应该使用列表还是数组

时间:2014-08-05 08:35:54

标签: java arrays list compare directory

我正在使用java 7,但如果认为值得,可以升级到8。

我正在创建一个程序来比较2个文件夹中的文件。

我正在使用Files.newDirectoryStream来提取文件数据,虽然我仍然需要弄清楚如何递归,但我确信这不应该太难。

所以,我会进行比较,然后添加缺失的项目,使它们保持同步 这意味着我需要存储:

1)名称& 2)路径

因此我需要用一些东西来做这件事。我知道我可以使用Array [] []来完成它。但这是最好的方法吗,或者列表更有效。

我想象最大的文件夹可容纳200个文件。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可以使用ArrayList<File>,它可以被视为&#34;普通数组周围的包装器&#34; (为了简单和理解)。由于List中的每个元素都是File类型,因此您已经可以访问文件的路径和名称,而不需要单独存储它们。

当然,ArrayList比使用简单数组有更多的开销,但是如果你期望最大数量是200个文件,那么这不是什么大问题而且不用担心。除非您在计算器上运行程序;)

如果可以,您应首先获取当前工作目录中的文件数量,并将该数字用作列表的初始大小:

int numberOfFiles = fetchFileCount(directory);
ArrayList<File> currentFiles = new ArrayList<>(numberOfFiles);