Java

Java笛卡尔积的过滤方法是什么

小樊
83
2024-08-11 01:00:40
栏目: 编程语言

在Java中,可以使用Stream API来对笛卡尔积进行过滤。具体步骤如下:

  1. 首先,使用Stream的flatMap方法将两个集合进行笛卡尔积操作,例如:
List<String> list1 = Arrays.asList("A", "B", "C");
List<String> list2 = Arrays.asList("1", "2", "3");

List<String> cartesianProduct = list1.stream()
        .flatMap(x -> list2.stream().map(y -> x + y))
        .collect(Collectors.toList());
  1. 接着,使用filter方法对笛卡尔积进行过滤,可以根据自定义的条件来筛选元素,例如:
List<String> filteredCartesianProduct = cartesianProduct.stream()
        .filter(s -> s.contains("A"))
        .collect(Collectors.toList());

在这个例子中,我们对包含"A"的元素进行了过滤,最终得到了过滤后的笛卡尔积结果。通过使用Stream API的flatMap和filter方法,可以方便地对笛卡尔积进行过滤操作。

0
看了该问题的人还看了