温馨提示×

java笛卡尔积算法怎么实现

小亿
129
2023-12-01 11:18:47
栏目: 编程语言

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

0