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