我有一个数组中的文件列表
String[] myStringArray = {"C:\file1.txt","C:\file2.txt","C:\file3.txt"};
我正在运行for循环来执行命令以获取值
for (String extpath: myStringArray ) {
command to get the metadata
}
输出: 的改性 改性 未修饰
我能够完成上述工作。现在我需要比较输出的每个元素,看看它们是否相同。
是否应该再次创建数组然后进行比较?任何指针请用最简单的方法
答案 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
}
上面的代码可以让你只用一次就能完成你的目标。