public final class Combinations extends Object implements Iterable<int[]>
Modifier and Type | Method and Description |
---|---|
Comparator<int[]> |
comparator()
Creates a comparator.
|
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()
Creates an iterator whose range is the k-element subsets of
{0, ..., n - 1} represented as
int[] arrays. |
static Combinations |
of(int n,
int k) |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
forEach, spliterator
public static Combinations of(int n, int k)
n
- Size of the set from which subsets are selected.k
- Size of the subsets to be enumerated.IllegalArgumentException
- if n < 0
.IllegalArgumentException
- if k > n
or k < 0
.public int getN()
public int getK()
public Iterator<int[]> iterator()
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.public Comparator<int[]> comparator()
n
), an IllegalArgumentException
will be thrown.Copyright © 2017–2022 The Apache Software Foundation. All rights reserved.