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
不可能,至少在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)