在同一个“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]); }
有用!