我如何编写foreach循环?

moz*_*deh -2 java foreach

我想写这样的foreach:

for (Object object1 : list1 , Object object2 : list2)
Run Code Online (Sandbox Code Playgroud)

可能吗?

Mar*_*szS 5

将其写为嵌套循环以迭代所有元素组合

for (Object object1 : list1){
   for (Object object2 : list2){
      ...
   }
}
Run Code Online (Sandbox Code Playgroud)

或者在一次迭代中do...while,这等于上面的代码.

int i = 0, j = 0;
do {
    Object object1 = a.get(i)
    Object object2 = b.get(j)
    ...
    if (i == a.size() - 1) j++;
} while (i < a.size() && j < b.size());
Run Code Online (Sandbox Code Playgroud)

您还可以合并两个列表,然后逐个迭代所有元素

// Add items to the other list - BEWARE - list1's contens will change
list1.addAll(list2);

for (Object object : list1) {
   ...
}
Run Code Online (Sandbox Code Playgroud)

与番石榴的安全方式

Iterable<Object> combined = Iterables.unmodifiableIterable(
        Iterables.concat(list1, list2));
for (Object object : combined) {
    System.out.println(object);
}
Run Code Online (Sandbox Code Playgroud)