带有两个数组的Java foreach循环

Dec*_*man 10 java arrays foreach loops arraylist

我有一个简单的问题,可以在Java上完成以下内容吗?

ArrayList<String> arr1 = new ArrayList<String>();
ArrayList<String> arr2 = new ArrayList<String>();

// Processing arrays, filling them with data

for(String str : arr1, arr2) {
    //Do stuff
}
Run Code Online (Sandbox Code Playgroud)

意图是迭代第一个数组,然后是下一个数组.

我能想到的最好的方法是使用单独的for循环,当for循环具有相同的内部代码时,这会产生冗余编码.

另一个解决方案是创建一个ArrayLists数组.这使我很容易实现我的意图,即:

ArrayList<ArrayList<String>> arr = new ArrayList<ArrayList<String>>();

// Initialising arr and populating with data
for(ArrayList<String> tempArr : arr) {
    for(String str : tempArr) {
        //Do stuff
    }
}
Run Code Online (Sandbox Code Playgroud)

但这会导致无法读取的代码.有没有一种干净的方式来做后者我不会丢失单独数组的名称?

提前谢谢,Declan

Sur*_*tta 7

不可能,至少在Java 9以下.这是一种可行的方法

i1= arr1.iterator();
i2= arr2.iterator();
while(arr1.hasNext() && arr2.hasNext()) 
{

   ToDo1(arr1.next());
   ToDo2(arr2.next());
} 
Run Code Online (Sandbox Code Playgroud)