My preferred method:
int[] array = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
do {
print(array);
} while (nextPermutation(array));
https://www.nayuki.io/page/next-lexicographical-permutation-...This even works with duplicate values.