Class Combinations
java.lang.Object
org.apache.commons.numbers.combinatorics.Combinations
- All Implemented Interfaces:
java.lang.Iterable<int[]>
public class Combinations
extends java.lang.Object
implements java.lang.Iterable<int[]>
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCombinations.LexicographicComparatorDefines a lexicographic ordering of the combinations. -
Constructor Summary
Constructors Constructor Description Combinations(int n, int k)Creates an instance whose range is the k-element subsets of {0, ..., n - 1} represented asint[]arrays. -
Method Summary
-
Constructor Details
-
Combinations
public Combinations(int n, int k)Creates an instance whose range is the k-element subsets of {0, ..., n - 1} represented asint[]arrays.The iteration order is lexicographic: the arrays returned by the
Ifiteratorare sorted in descending order and they are visited in lexicographic order with significance from right to left. For example,new Combinations(4, 2).iterator()returns an iterator that will generate the following sequence of arrays on successive calls tonext():
[0, 1], [0, 2], [1, 2], [0, 3], [1, 3], [2, 3]k == 0an iterator containing an empty array is returned; ifk == nan iterator containing [0, ..., n - 1] is returned.- Parameters:
n- Size of the set from which subsets are selected.k- Size of the subsets to be enumerated.- Throws:
java.lang.IllegalArgumentException- ifn < 0.java.lang.IllegalArgumentException- ifk > nork < 0.
-
-
Method Details
-
getN
public int getN()Gets the size of the set from which combinations are drawn.- Returns:
- the size of the universe.
-
getK
public int getK()Gets the number of elements in each combination.- Returns:
- the size of the subsets to be enumerated.
-
iterator
public java.util.Iterator<int[]> iterator()- Specified by:
iteratorin interfacejava.lang.Iterable<int[]>
-