我想创建一个迭代多个列表的函数.现在我知道这些列表具有完全相同的大小(并且它们也可以具有不同的类型),例如:
List<Integer> list1 = getList1();
List<String> list2 = getList2();
List<Long> list3 = getList3();
list1.size() == list2.size(); // returns true
list2.size() == list3.size(); // returns true
Run Code Online (Sandbox Code Playgroud)
并且我希望能够调用一个函数,该函数在每个列表中的相同切片上占用3个元素,例如:
int calculate(int elemList1, String elemList2, long elemList3) {...}
// iterator over the lists in parallel {
int ret = calculate(elemList1, elemList2, elemList3);
// }
Run Code Online (Sandbox Code Playgroud)
我想做的相当于我在guava中看到的内容,但是看起来还没有实现:http://code.google.com/p/guava-libraries/issues/detail?id = 677
他们谈论做Iterators.interleave或Iterators.zip,我想做类似但我无法做到的事情,所以有人可以帮我一点吗?谢谢!
我宁愿不必获得一个列表的大小并通过索引迭代它们,因为将来我可以有不同大小的列表,所以我只想使用一种方法来做到这一点.