Java 如何优化循环代码?

Java 如何优化循环代码?,java,for-loop,Java,For Loop,如何优化此代码 List<SemaineTpsRegDto> semaines = ecranDto.getListeSemaine(); for (SemaineTpsRegDto semaine : semaines) { List<EntiteTpsRegDto> entiteTps = semaine.getListeEntite(); for (EntiteTpsRegDto entitesTps

如何优化此代码

List<SemaineTpsRegDto> semaines = ecranDto.getListeSemaine();       
 for (SemaineTpsRegDto semaine : semaines) {
            List<EntiteTpsRegDto> entiteTps = semaine.getListeEntite();
            for (EntiteTpsRegDto entitesTps : entiteTps) {
                List<AgentTpsRegDto> agentTpsReg = entitesTps.getListeAgent();
                for (AgentTpsRegDto agentsTpsReg : agentTpsReg) {
                    List<TempsRegJournalierDto> tempsRegJournalier = agentsTpsReg.getListeTempsJournalier();
                    for (TempsRegJournalierDto tempsRegJour : tempsRegJournalier) {
                        tempsRegJour.getHeureReelle().getDepassement();
                    }
                }
            }

        }
List-semaines=ecranDto.getListeSemaine();
for(semainepsregdto semaine:semaines){
List entiteTps=semaine.getListenite();
for(EntiteTpsRegDto entitesTps:entiteTps){
List agentTpsReg=entitesTps.getListAgent();
对于(AgentTpsRegDto agentstpssreg:agentTpsReg){
List tempsRegJournalier=agentsTpsReg.getListTempsJournalier();
for(tempsRegJournalier到tempsRegJour:tempsRegJournalier){
tempsRegJour.getHeureReelle().getDepassement();
}
}
}
}
内联变量:

for (SemaineTpsRegDto semaine : ecranDto.getListeSemaine()) {
  for (EntiteTpsRegDto entitesTps : semaine.getListeEntite()) {
    for (AgentTpsRegDto agentsTpsReg : entitesTps.getListeAgent()) {
      for (TempsRegJournalierDto tempsRegJour : agentsTpsReg.getListeTempsJournalier()) {
        tempsRegJour.getHeureReelle().getDepassement();
      }
    }
  }    
}
但这只会提高可读性。如果在循环中使用变量后需要变量,则不能这样做


因为你有一个四层的结构,你需要四层的迭代来访问每一个元素。

它有什么问题?你想优化什么?什么是“优化”?你当然可以用一种简单的方法让它更具可读性。我想知道我们是否可以确保我们没有嵌套,因为看起来你必须通过所有这些层才能到达最终的子列表,所以没有。如果你需要进行4级迭代,也许你不应该使用列表。(很抱歉,无法从您提供的代码中告诉您什么。)换句话说,您的循环所做的是“针对每一个中的每一个中的每一个中的每一个”。如果这是你想要的,那么这是唯一的方法。OP有四层列表,希望对每个元素都做些什么,所以我不知道他们希望优化什么。