[英]general loop in java generating all possible strings
我很难自己创建一些通用的 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]
我想生成这些字符串(顺序不重要):
字符串: ["a1 b1 c1", "a1 b1 c2", "a1 b2 c1", ...., "a3 b5 c2"]
您可以使用番石榴集。 例如,这将给出所有组合AAA
, AAB
, ...
, CCC
。
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);
在您的情况下,您必须为参数传递s_0
、 s_1
、 s_2
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.