【发布时间】:2013-12-19 19:28:42
【问题描述】:
我想知道如何计算给定数组列表中所有可能的组合? 例如
ArrayList 包含以下元素{1, 2, 3}。现在应该生成以下组合
{1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}
【问题讨论】:
-
{}是其中一种组合吗?
标签: java arraylist combinations
我想知道如何计算给定数组列表中所有可能的组合? 例如
ArrayList 包含以下元素{1, 2, 3}。现在应该生成以下组合
{1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}
【问题讨论】:
{} 是其中一种组合吗?
标签: java arraylist combinations
你可以试试Guava的Sets#powerSet
Sets.powerSet(Sets.newHashSet(<your list>))
【讨论】:
您可以将数组列表中的每个元素视为一个位并实现一个二进制计数器。计数给你所有的集合。您在 arraylist 中有 1, 2 ,3 ,让我们暂时将它们可视化为 3 位。 000, 001, 010, 011, 100, 101, 110,111 为您提供动力装置。您需要做的就是实现一个二进制计数器,这很简单。
【讨论】: