Java “大小的子集”;k";用番石榴

Java “大小的子集”;k";用番石榴,java,set,subset,guava,Java,Set,Subset,Guava,我有大约100万套,每套大约有30个元素。对于每个集合,我想生成大小为“k”的所有子集,其中k是3、4或5。我是新来的番石榴,并决定尝试它。我找到了powerSet方法(),它将为我的每个集合生成所有子集 我可以循环遍历每个幂集,只取大小小于或等于“k”的子集。但由于发电机组的尺寸为2^30,这似乎效率很低 我以为番石榴会有一种方法,可以让我生成一组大小为k的所有子集,但我找不到它。我遗漏了什么吗?“一组大小为k的所有子集”是 (我认为我们没有直接的方法来生成大小为k或更小的所有子集,但正如您所

我有大约100万套,每套大约有30个元素。对于每个集合,我想生成大小为“k”的所有子集,其中k是3、4或5。我是新来的番石榴,并决定尝试它。我找到了powerSet方法(),它将为我的每个集合生成所有子集

我可以循环遍历每个幂集,只取大小小于或等于“k”的子集。但由于发电机组的尺寸为2^30,这似乎效率很低

我以为番石榴会有一种方法,可以让我生成一组大小为k的所有子集,但我找不到它。我遗漏了什么吗?

“一组大小为k的所有子集”是

(我认为我们没有直接的方法来生成大小为k或更小的所有子集,但正如您所指出的,从
组合中构建这些子集是很容易的,尽管如果您希望将所有子集都放在一个
集中,正如Xaerxess所问的,您需要自己构建

“大小为k的所有子集的集合”是


(我不认为我们有直接的方法来生成大小为k或更小的所有子集,但正如您所指出的,从
组合中构建这些子集很容易——不过,如果您想将它们都放在一个
集中,正如Xaerxess所问的那样,您需要自己构建

之后您想对结果做什么?您是否需要
设置
界面功能,或者
Iterable
适合您的用例?Iterable可以,谢谢您以后想对结果做什么?您需要
设置接口功能,还是
Iterable
适合您的用例?Iterable可以,谢谢