【问题标题】:How to get all the combinations of three lists in java?如何在java中获取三个列表的所有组合?
【发布时间】:2017-07-16 04:45:40
【问题描述】:

我有一种情况,我必须检查网站上一系列问题的所有可能答案。所有选项都是复选框类型。

例如:(Q:问题,A,B,C:选项)

Q1:A1 A2 A3 A4

Q2:B1 B2 B3

Q3:C1 C2

所以我需要检查所有组合,例如:

A1B1C1、A1B1C2、A1B2C1、A1B2C2 等等......

还有

A1A2B1C1、A1A2B1C2、A1A2B1B2C1、A1A2B1B2C2、A1A2B2B3C1、A1A2B2B3C2、A1A2B1B3C1、A1A2B1B3C2 等

A1A2B1B2B3C1、A1A2B1B2B3C2、A1A2B1B2B3C1C2 等等。

谢谢。

【问题讨论】:

  • 运行嵌套的 for 循环,虽然这是个坏主意
  • StackOverflow 不适用于代码请求。展示你的尝试,或者至少展示一些研究成果

标签: java list set combinations


【解决方案1】:

下面的 Run 3 嵌套 for 循环或递归是一个示例,说明如何做到这一点

String[] Q1 = {"A1", ... "An"};
String[] Q2 = {"B1", ... "Bn"};
String[] Q3 = {"C1", ... "Cn"};
Set<String> combination = new HashSet<>();

for (String q1: Q1) {
   for (String q2: Q2) {
      for (String q3: Q3) {
        combination.add(q1 + q2 + q3)
    }
  }
}

如果你想要更多的组合,你可以做一个递归

【讨论】:

    猜你喜欢
    • 2013-06-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    相关资源
    最近更新 更多