2015-10-06 3 views
0

Как бы вы рекурсивно реализовали конструктор копирования для функционального связанного списка? Я запутался, потому что мне нужно использовать конструктор копирования в методе добавления, но тогда мне нужно будет использовать метод add в моем конструкторе копирования, который кажется немного запутанным. Мысли?Рекурсивно реализация конструктора копирования для реализации связанного списка java

+0

что вы пробовали до сих пор. Я бы рекомендовал добавить код на ваш вопрос –

+0

, почему вам нужно использовать конструктор копирования в методе добавления? –

+0

, потому что это функциональный связанный список, поэтому, если я его добавлю, мне нужно вернуть глубокую копию списка с добавленным новым объектом, оставив оригинал так, как он был – Jenny

ответ

0

Нет необходимости использовать copy-add в copy-constructor.

public MyList(List<? extends T> list) { 
    for (T item : list) 
     This.addWithoutCopy(item); 
} 

MyList<T> add(T item) { 
    MyList<T> copy = new MyList<T>(this); 
    copy.addWithoutCopy(item); 
    return copy; 
} 
Смежные вопросы