我想写这样的foreach:
for (Object object1 : list1 , Object object2 : list2)
Run Code Online (Sandbox Code Playgroud)
可能吗?
将其写为嵌套循环以迭代所有元素组合
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)
| 归档时间: |
|
| 查看次数: |
81 次 |
| 最近记录: |