如何使用流从两个列表或数组乘法中查找元素对
2022-09-02 03:01:37
我有两个数字列表,我想找到所有可能的数字对。例如,给定列表和结果应为:[1, 2, 3]
[3, 4]
[(1, 3), (1, 4), (2, 3), (2, 4), (3, 3), (3, 4)]
我知道我可以使用for循环来做到这一点,但是有没有更简洁的方法可以使用Java 8流来做到这一点?
我尝试了以下内容,但是我错过了一些东西,因为我得到了而不是.List<Stream<int[]>>
List<int[]>
public static void main(String[] args) {
List<Integer> list1 = Arrays.asList(1, 2, 3);
List<Integer> list2 = Arrays.asList(3, 4);
List<int[]> pairs = list1.stream()
.map(i -> list2.stream()
.map(j -> new int[]{i, j}))
.collect(Collectors.toList());
pairs.forEach(i -> {
System.out.println("{" + i[0] + "," + i[1] + "}");
});
}