Java:从for循环创建数组

时间:2015-12-28 10:40:24

标签: java arrays

我有一个数组中的文件列表

String[] myStringArray = {"C:\file1.txt","C:\file2.txt","C:\file3.txt"};

我正在运行for循环来执行命令以获取值

for (String extpath: myStringArray ) {
command to get the metadata
}

输出: 的改性 改性 未修饰

我能够完成上述工作。现在我需要比较输出的每个元素,看看它们是否相同。

是否应该再次创建数组然后进行比较?任何指针请用最简单的方法

2 个答案:

答案 0 :(得分:1)

如果你希望将循环的每次迭代的输出存储在一个数组中,你需要一个常规的for循环,因为你需要数组的索引(除非你添加一个本地计数器变量)。 / p>

String[] output = new String[myStringArray.length];
for (int i = 0; i < myStringArray.length; i++) {
    String extpath = myStringArray[i];
    output[i] = command to get the metadata
}

答案 1 :(得分:1)

您可以随时更新Map<String, Boolean>。在这种情况下,密钥将是文件的名称,而如果文件已被修改,则值将是,所以基本上:

Map<String, Boolean> map = new HashMap<String, Boolean>();
...
for (String extpath: myStringArray ) {
    boolean result = ...
    if(map.get(extPath) == result) {
        //What to do if they are the same
    }
    else {
        //What to do if they are different
    }
    map.get(i) = result; //Update the map
}

上面的代码可以让你只用一次就能完成你的目标。