Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 递归实现链表实现的复制构造函数_Java_List_Recursion - Fatal编程技术网

Java 递归实现链表实现的复制构造函数

Java 递归实现链表实现的复制构造函数,java,list,recursion,Java,List,Recursion,如何递归地实现函数链表的复制构造函数? 我很困惑,因为我需要在add方法中使用copy构造函数,但是我需要在copy构造函数中使用add方法,这似乎有点纠结。 想法?没有必要使用复制加载项复制构造函数 public MyList(List<? extends T> list) { for (T item : list) This.addWithoutCopy(item); } MyList<T> add(T item) { MyList&

如何递归地实现函数链表的复制构造函数? 我很困惑,因为我需要在add方法中使用copy构造函数,但是我需要在copy构造函数中使用add方法,这似乎有点纠结。
想法?

没有必要使用复制加载项复制构造函数

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;
}

public MyList(list)到目前为止您尝试了什么。我建议您在问题中添加一些代码为什么需要在add方法中使用copy构造函数?因为它是一个函数链接列表,所以如果我添加到它,我需要返回一个添加了新对象的列表的深度副本,保留原始对象不变