程序包 org.hipparchus.util

类 Combinations

java.lang.Object
org.hipparchus.util.Combinations
所有已实现的接口:
Iterable<int[]>

public class Combinations extends Object implements Iterable<int[]>
创建一个由n个元素中的k个元素组成的组合的实用程序。
另请参阅:
  • 构造器详细资料

    • Combinations

      public Combinations(int n, int k)
      创建一个实例,其范围是{0, ..., n - 1}中的k元素子集,表示为int[]数组。

      迭代顺序是字典顺序的:由iterator返回的数组按降序排序,它们按字典顺序从右到左进行访问。例如,new Combinations(4, 2).iterator()返回一个迭代器,将在连续调用next()时生成以下数组序列:
      [0, 1], [0, 2], [1, 2], [0, 3], [1, 3], [2, 3]

      如果k == 0,则返回一个包含空数组的迭代器;如果k == n,则返回一个包含[0, ..., n - 1]的迭代器。
      参数:
      n - 选择子集的集合的大小。
      k - 要枚举的子集的大小。
      抛出:
      MathIllegalArgumentException - 如果n < 0
      MathIllegalArgumentException - 如果k > n
  • 方法详细资料

    • getN

      public int getN()
      获取绘制组合的集合的大小。
      返回:
      宇宙的大小。
    • getK

      public int getK()
      获取每个组合中的元素数量。
      返回:
      要枚举的子集的大小。
    • iterator

      public Iterator<int[]> iterator()
      指定者:
      iterator 在接口中 Iterable<int[]>
    • comparator

      public Comparator<int[]> comparator()
      定义组合的字典顺序。返回的比较器允许比较此实例的iterator生成的任何两个组合。如果传递给compare(int[],int[])方法的组合与此实例不一致,则会抛出异常:
      • 如果数组长度不等于k
      • 如果数组的元素不在区间[0, n)内。
      返回:
      一个字典顺序比较器。