java中生成所有可能字符串的通用循环
我自己很难创建一些通用for循环,因为我的代码是用java编写的。假设我有M个字符串数组列表,每个数组列表s_I有x_I成员。我想生成所有可能的字符串,这样字符串的第一部分来自第一个集合,字符串的第二部分来自第二个集合,并且 例如,下面有3个在编程时未知的列表: |s_0 |=x_0=3[a1,a2,a3] |s|1 |=x|1=5:[b1、b2、b3、b4、b5] |s_2 |=x_2=2:[c1,c2] 我想生成这些字符串顺序并不重要: 字符串:[a1b1c1,a1b1c2,a1b2c1,…,a3b5c2]您可以使用。例如,这将给出所有组合AAA、AAB、…、CCCjava中生成所有可能字符串的通用循环,java,Java,我自己很难创建一些通用for循环,因为我的代码是用java编写的。假设我有M个字符串数组列表,每个数组列表s_I有x_I成员。我想生成所有可能的字符串,这样字符串的第一部分来自第一个集合,字符串的第二部分来自第二个集合,并且 例如,下面有3个在编程时未知的列表: |s_0 |=x_0=3[a1,a2,a3] |s|1 |=x|1=5:[b1、b2、b3、b4、b5] |s_2 |=x_2=2:[c1,c2] 我想生成这些字符串顺序并不重要: 字符串:[a1b1c1,a1b1c2,a1b2c1,…
在您的情况下,必须为参数传递s_0、s_1、s_2。您想要它们的所有置换吗?提示的可能重复:定义两个集合之间的叉积,并推广到三个。
final Set<String> set = new HashSet<>();
set.add("A");
set.add("B");
set.add("C");
final Set<List<String>> sets = Sets.cartesianProduct(set, set, set);