Constructor and Description |
---|
Combinations(int nIn,
int kIn)
Creates an instance whose range is the k-element subsets of
{0, ..., n - 1} represented as
int[] arrays. |
Modifier and Type | Method and Description |
---|---|
Comparator<int[]> |
comparator()
Defines a lexicographic ordering of combinations.
|
int |
getK()
Gets the number of elements in each combination.
|
int |
getN()
Gets the size of the set from which combinations are drawn.
|
Iterator<int[]> |
iterator() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public Combinations(int nIn, int kIn)
int[]
arrays.
The iteration order is lexicographic: the arrays returned by the iterator
are 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 to next()
:
[0, 1], [0, 2], [1, 2], [0, 3], [1, 3], [2, 3]
k == 0
an iterator containing an empty array is returned;
if k == n
an iterator containing [0, ..., n - 1] is returned.nIn
- Size of the set from which subsets are selected.kIn
- Size of the subsets to be enumerated.NotPositiveException
- if n < 0
.NumberIsTooLargeException
- if k > n
.public int getN()
public int getK()
public Comparator<int[]> comparator()
iterator
.
Its compare(int[],int[])
method will throw exceptions if
passed combinations that are inconsistent with this instance:
DimensionMismatchException
if the array lengths are not equal to k
,OutOfRangeException
if an element of the array is not within the interval [0, n
).Copyright © 2023 CNES. All rights reserved.