在Java中,可以使用嵌套循环来计算笛卡尔积。具体步骤如下:
创建一个二维数组来存储笛卡尔积的结果。数组的行数为两个集合的大小的乘积,列数为2(代表两个集合)。
使用嵌套循环遍历两个集合的所有元素,将每对元素组合添加到结果数组中。
下面是一个示例代码:
import java.util.ArrayList;
import java.util.List;
public class CartesianProduct {
public static List<List<Integer>> cartesianProduct(List<Integer> set1, List<Integer> set2) {
List<List<Integer>> result = new ArrayList<>();
for (Integer i : set1) {
for (Integer j : set2) {
List<Integer> pair = new ArrayList<>();
pair.add(i);
pair.add(j);
result.add(pair);
}
}
return result;
}
public static void main(String[] args) {
List<Integer> set1 = List.of(1, 2, 3);
List<Integer> set2 = List.of(4, 5);
List<List<Integer>> cartesianProduct = cartesianProduct(set1, set2);
for (List<Integer> pair : cartesianProduct) {
System.out.println(pair);
}
}
}
运行以上代码,将得到集合{1, 4}、{1, 5}、{2, 4}、{2, 5}、{3, 4}、{3, 5}的笛卡尔积。