给定未知数量的列表,每个列表的长度都未知,我需要生成一个包含所有可能的唯一组合的单一列表。例如,给定以下列表:
X: [A, B, C]
Y: [W, X, Y, Z]
那么我应该能够生成 12 种组合:
[AW, AX, AY, AZ, BW, BX, BY, BZ, CW, CX, CY, CZ]
如果添加了 3 个元素的第三个列表,我将有 36 种组合,依此类推。
关于如何在 Java 中执行此操作的任何想法?
(伪代码也可以)
原文由 Michael Hillman 发布,翻译遵循 CC BY-SA 4.0 许可协议
你需要递归:
假设您的所有列表都在
lists
中,这是一个列表列表。让result
成为所需排列的列表。你可以这样实现它:最终的调用将是这样的: