Вот метод, который должен просто создать новый ArrayList, копирующий все элементы параметра ArrayList arrlist, который, я думаю, я сделал правильно.добавление элементов другого arraylist by recursion-java
public ArrayList<T> copy (ArrayList<T> arrlist) {
ArrayList<T> um=new ArrayList<T>();
for (int i=0;i<arrlist.size();i++)
um.add(arrlist.get(i));
return um;
Однако, я хотел бы написать этот точный метод, используя рекурсию только без петель. Вот что я написал. Метод копирования использует рекурсивный вспомогательный метод.
public ArrayList<T> copy(ArrayList<T> arrlist) {
return copy(arrlist,0);
}
private ArrayList<T> copy(ArrayList<T> arrlist, int n) {
ArrayList<T> um=new ArrayList<T>();
if (n<arrlist.size())
um.add(list.get(n));
return copy(list,n+1);
}
За исключением этого не работает. Любые предложения или подсказки?
Что такое ошибка? –
«не работает» каким образом? Опишите конкретную проблему, которую вы просите о помощи с –
Есть ли базовый регистр для этой рекурсии? Или он просто называет себя вечно? –