在同一个“for”循环中迭代多个集合?

我想知道是否有这样的方法通过扩展为java中的每个循环迭代多个集合。

所以类似于:

for (Object element : collection1, collection2, ....) // do something ... 

谢谢

您可以使用Guava的Iterables.concat()

 for (Foo element : Iterables.concat(collection1, collection2)) { foo.frob(); } 
 Collection collection1 = ... Collection collection2 = ... Collection collection3 = ... ... Collection all = ... all.addAll(collection1); all.addAll(collection2); all.addAll(collection3); ... for(Foo element : all) { } 

如果您的列表具有相同的长度,只需使用raw for循环:

 Object[] aNum = {1, 2}; Object[] aStr = {"1", "2"}; for (int i = 0; i < aNum.length; i++) { doSomeThing(aNum[i]); doSomeThing(aStr[i]); } 

有用!