gpt4 book ai didi

java - 如何在 Java 中生成笛卡尔积?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:36:13 24 4
gpt4 key购买 nike

我有许多 ArrayList,每个 ArrayList 都有对象,每个都可以有不同的长度。我需要像下面的例子一样生成排列:

假设我有 2 个 ArrayList:

ArrayList A has object a, object b and object c
ArrayList B has object d, object e

然后输出应该是 6 个新的 ArrayList,这些组合:

Combination 1 object a and object d,
Combination 2 object a and object e,
Combination 3 object b and object d,
Combination 4 object b and object e,
Combination 5 object c and object d,
Combination 6 object c and object e,

谁能帮帮我?

最佳答案

Guava 19+

Lists.cartesianProduct(List...)

例如:

List<Object> list1 = Arrays.asList("a", "b", "c");
List<Object> list2 = Arrays.asList("d", "e");
System.out.println(Lists.cartesianProduct(list1, list2));

输出:

[[a, d], [a, e], [b, d], [b, e], [c, d], [c, e]]

关于java - 如何在 Java 中生成笛卡尔积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8082595/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com