在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}的笛卡爾積。