В java нет встроенной функции, подобной этой. Вам придется создать свой собственный, что не так сложно. Я на мгновение предоставлю правку этому ответу с решением (не обязательно лучшим решением)
public static void printperms(int[] perm, boolean[] used, int k)
{
if (k == perm.length) print(perm);
for (int i=0; i<perm.length; i++) {
if (!used[i]) {
used[i] = true;
perm[k] = i;
printperms(perm, used, k+1);
used[i] = false;
}
}
}
, затем вы можете создать новый метод, например, для его вызова:
public void perms(int n){
printperms(new int[n], new boolean[n], 0);
}
Наконец, когда у меня есть метод print
, вы можете добавить массив в список, чтобы вы могли собрать их все в списке или просто распечатать. Твой выбор. Делай с этим как хочешь.