两个集合的交叉积使用Stream API

4

我有两个列表:

List<Integer> list1 = ...
List<Integer> list2 = ...

I have the following class:

class Pair {
    public Pair(final Integer i1, final Integer i2) {
        ...
    }
}

在Java8流中,是否可以将两个输入列表组合成一个List<Pair>?这可以很容易地通过双重for循环完成,但我想知道是否可以使用Java8流来实现。

1个回答

8
list1.stream()
     .flatMap(i1 -> list2.stream()
                         .map(i2 -> new Pair(i1, i2)))
     .collect(Collectors.toList());

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接