java - 分两部分进行 for 循环

标签 java for-loop dry

你会如何在一个 for 循环中编写这个

for (File file:files)
  {
    if (file.getName().endsWith(".dat"))   {
       Species x = reader.readSpecies(file);
       allSpecies.add(x);
       allGenes.addAll(x.getGenome());
    }
} 
for (File file:files){
     if (file.getName().endsWith(".dat")) {
       Species x = reader.readSpecies(file);
       x.setIndices(allGenes);
     }
}

我希望它对一个段运行一个 for 循环,而不是使用一个循环运行下一个段。这可能吗?如果不是,我写的代码是否违反了 DRY?

好吧,到目前为止回答的人根本没有理解我的问题。我希望代码经历整个第一个循环。然后是整个第二个循环。在循环中的所有文件的 allGenes.addAll 完成之前,设置索引方法将不起作用。

最佳答案

应该是

for (File file:files){
        if (file.getName().endsWith(".dat")){
            Species x = reader.readSpecies(file);                
            allSpecies.add(x);
            allGenes.addAll(x.getGenome());
            x.setIndices(allGenes);
        }
}

关于java - 分两部分进行 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15608369/

相关文章:

java - libGDX 示例中的 slider

Java:带有额外停止条件的优雅 for 循环

Java:如何在for循环中将try-catch作为条件?

c# - 在 MVC 中存储/调用重复代码块

日期范围之间的mysql变量避免重复

java - 用于分割空间的 StringTokenizer

java - Windows 8 平板电脑中的屏幕键盘

java - 如何使用 Android 更新 Firestore 中的数组元素?

javascript - 需要另一个帮助来动态地在屏幕上显示文本

javascript - jQuery 干涸功能