I need to permute an array and save each permutation in an arrayList, I am using a recursive method but it is repeatedly saving just one result.
private static List<int[]> permutations = new ArrayList<int[]>();
int array[] = new int[]{1,2,3,4};
public static void permuteArray(int[] array) {
    permuteArray(array, 0);
}
private static void permuteArray(int[] array, int index) {
    if (index == array.length - 1) {
        permutations.add(array);
    }
    for (int i = index; i < array.length; i++) {
        int aux = array[index];
        array[index] = array[i];
        array[i] = aux;
        permuteArray(array, index + 1);
        aux = array[index];
        array[index] = array[i];
        array[i] = aux;
    }
}
 
     
     
    