複数のリストを反復処理する関数を作成したいと思います。これで、これらのリストのサイズがまったく同じであることがわかりました(また、タイプも異なる可能性があります)。たとえば、次のようになります。
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);
// }
ここでグアバで説明したのと同じことをしたいのですが、まだ実装されていないようです:http ://code.google.com/p/guava-libraries/issues/detail?id=677
彼らはIterators.interleaveまたはIterators.zipを行うことについて話し、私は同様のことをしたいのですが、私はできませんでした。誰かが私を少し助けてくれませんか?ありがとう!
1つのリストのサイズを取得して、インデックスで反復する必要はありません。将来、さまざまなサイズのリストを作成できるようになるため、これを行うには1つの方法のみを使用したいと思います。