如何高效地计算Java中的笛卡尔积

avatar
作者
筋斗云
阅读量:0

在Java中,可以使用嵌套循环来计算笛卡尔积。具体步骤如下:

  1. 创建一个二维数组来存储笛卡尔积的结果。数组的行数为两个集合的大小的乘积,列数为2(代表两个集合)。

  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}的笛卡尔积。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!