阅读量:8
Java中可以使用两层循环来实现笛卡尔积算法。
假设有两个集合A和B,笛卡尔积就是将A中的每个元素与B中的每个元素进行组合,得到一个新的集合。
以下是实现笛卡尔积算法的Java代码示例:
import java.util.ArrayList; import java.util.List; public class CartesianProduct { public static void main(String[] args) { List<Integer> setA = new ArrayList<>(); setA.add(1); setA.add(2); List<Character> setB = new ArrayList<>(); setB.add('a'); setB.add('b'); List<String> cartesianProduct = getCartesianProduct(setA, setB); System.out.println(cartesianProduct); } public static List<String> getCartesianProduct(List<Integer> setA, List<Character> setB) { List<String> cartesianProduct = new ArrayList<>(); for (Integer elementA : setA) { for (Character elementB : setB) { String product = elementA.toString() + elementB.toString(); cartesianProduct.add(product); } } return cartesianProduct; } }
在上述示例中,我们定义了两个集合setA和setB,分别包含了整数和字符。通过调用getCartesianProduct()
方法,传入这两个集合,即可得到它们的笛卡尔积。
输出结果为:[1a, 1b, 2a, 2b],即为集合setA和setB的笛卡尔积。