私はCollection
の任意のクラスの要素を持っています。コレクションを繰り返し処理し、コレクションの要素と他の要素を1つずつ(要素自体を除いて)使用して、何らかの操作を実行したいとします。それは簡単にするためにList<Integer>
なりましょう:for
でJava 8ストリーム:リストの可能なすべての要素のペアを処理します
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5);
は、それがされるループ:
for (Integer i : list) {
for (Integer j : list) {
if (!i.equals(j)) System.out.println(i * 2 + j); //just for example
}
}
質問がStream APIでそれを行うにはどのようにのですか?それはしかし、ネストされたループよりも優れて見えない
list.stream().forEach(i ->
list.stream().forEach(j -> {
if (!i.equals(j)) System.out.println(i * 2 + j);
})
);
:私はになってきたものだ
。よりエレガントな方法がありますか?