繁体   English   中英

java中的一般循环生成所有可能的字符串

[英]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_0s_1s_2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM