【问题标题】:Find out all possible combinations in a arraylist : java [closed]找出数组列表中所有可能的组合:java [关闭]
【发布时间】:2013-12-19 19:28:42
【问题描述】:

我想知道如何计算给定数组列表中所有可能的组合? 例如

ArrayList 包含以下元素{1, 2, 3}。现在应该生成以下组合

{1}, {2}, {3}, {1,2}, {1,3}, {2,3}, {1,2,3}

【问题讨论】:

  • {} 是其中一种组合吗?
  • 使用 setpower setall subsets 等词搜索答案时,您会更幸运.列表的所有排列都是其元素的所有可能排列。请注意,幂集将包括空集。 Here's一些Java代码,如果你想自己实现的话。

标签: java arraylist combinations


【解决方案1】:

你可以试试GuavaSets#powerSet

Sets.powerSet(Sets.newHashSet(<your list>))

【讨论】:

    【解决方案2】:

    您可以将数组列表中的每个元素视为一个位并实现一个二进制计数器。计数给你所有的集合。您在 arraylist 中有 1, 2 ,3 ,让我们暂时将它们可视化为 3 位。 000, 001, 010, 011, 100, 101, 110,111 为您提供动力装置。您需要做的就是实现一个二进制计数器,这很简单。

    【讨论】:

    • 我喜欢这个。你绝对应该得到你的第一个支持
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 2013-05-18
    • 1970-01-01
    相关资源
    最近更新 更多