Java 你能按特定顺序调用3个循环吗?

Java 你能按特定顺序调用3个循环吗?,java,Java,目前我有3个循环,可以一次性调用它们而不是3个吗?问题在于循环1必须在循环2工作之前完成,而循环2必须在循环3运行之前完成。所以现在是这样的 public void handling() { for (Object object : Code.objects) { handle_One(object); } for (Object object : Code.objects) { handle_Two(object); }

目前我有3个循环,可以一次性调用它们而不是3个吗?问题在于循环1必须在循环2工作之前完成,而循环2必须在循环3运行之前完成。所以现在是这样的

public void handling() {
    for (Object object : Code.objects) {
        handle_One(object);
    }
    for (Object object : Code.objects) {
        handle_Two(object);
    }
    for (Object object : Code.objects) {
        handle_Three(object);
    }
}
如果我尝试这样的东西,它不会起作用,因为它们都是在同一时间被调用的,而且它必须被订购

public void handling() { //Code that doesn't work...
    for (Object object : Code.objects) {
        handle_One(object);
        handle_Two(object);
        handle_Three(object);
    }
}
有什么办法可以解决这个问题吗?已经尝试了一段时间,但什么都没有…在这种情况下,拥有3个for循环是非常糟糕的,并且会导致问题。(不幸的是,这是我们让它工作的唯一方法)


编辑:在我的例子中,这是不好的,因为for循环有时可以达到300。(作为Code.objects,表示有多少个连接,有时是100个,这意味着每次迭代要执行300个循环。

您可以使用SwigUtilities.invokeAndWait()。请参考以下链接


这会导致什么问题?如果您需要在执行任何句柄二之前对整个阵列执行句柄一,那么三个循环是唯一的方法。如果您准确地解释为循环使用三个
的错误,考虑到这似乎达到了您描述的目的,这会有所帮助。使用三个非-嵌套循环?如果你确切地告诉我们你需要做什么,这可能会更好…你描述问题的方式没有解决方案,即“我想做X,但我不能做X,我该怎么做?”此外,我不认为你在这里看到的“问题”是一个真正的问题;300次迭代的成本大致相同,无论是在1 for循环还是3 for循环中,这都是循环的关键。我不确定将所有内容都固定在一个循环中会为你解决什么问题:100次3件事和1件事之间没有太大区别如果当对象数量很大时,您的性能无法接受,那么您需要改进算法本身,而不是尝试随机重新排列循环。