Я пытаюсь сгенерировать все возможные перестановки заданного списка в общей функции. Я думаю, что у меня правильный код функции. Однако во время тестирования я продолжаю получать ошибки компилятора из своей основной программы. Пожалуйста помоги!перестановки в списке java
import java.util.*;
class perms <E>{
public List<List<E>> generatePerm(List<E> original) {
if (original.size() == 0) {
List<List<E>> result = new ArrayList<List<E>>();
result.add(new ArrayList<E>());
return result;
}
E firstElement = original.remove(0);
List<List<E>> returnValue = new ArrayList<List<E>>();
List<List<E>> permutations = generatePerm(original);
for (List<E> smallerPermutated : permutations) {
for (int index=0; index <= smallerPermutated.size(); index++) {
List<E> temp = new ArrayList<E>(smallerPermutated);
temp.add(index, firstElement);
returnValue.add(temp);
}
}
return returnValue;
}
public static void main(String[] params){
List<Integer> p = new ArrayList<Integer>();
p.add(1);
p.add(2);
System.out.print(p.toString());
List<List<Integer>> resultantList=generatePerm(p);
System.out.print(resultantList.toString());
}
}
Я постоянно генерируя следующую ошибку в моей испытательной части:
perms.java:33: generatePerm(java.util.List<E>) in perms<E> cannot be applied to (java.util.List<java.lang.Integer>)
List<List<Integer>> resultantList=generatePerm(p);