我想设计一个链表到另一个链表,到目前为止我在 MyLinkedList 类中有这个方法:
public void addList(int index, E e){
if(index == 0){
addFirst(e);
} else if (index >= size){
addLast(e);
}
else{
Node<E> current = head;
for(int i = 1; i < index; i++){
current = current.next;
}
Node<E> temp = current.next;
current.next = new Node<E>(e);
(current.next).next = temp;
size++;
}
}
我被方法本身困住了,我的主程序有两个看起来像这样的 LinkedList:
MyLinkedList<String> strings1 = new MyLinkedList<String>();
strings1.add("java");
strings1.add("language");
strings1.add("cooler");
strings1.add("noob");
System.out.println(list1);
MyLinkedList<String> strings2 = new MyLinkedList<String>();
strings2.add("artistic");
strings2.add("cereal");
strings2.add("bowl");
System.out.println(list2);
然后我想将 string2 的链表添加到 string1 的链表中。我该怎么做呢? 我想过使用
strings1.addList(2, strings2);
但它不起作用,它不允许我将 strings2 添加到 strings1 我想如果我完成了它,输出将如下所示: java、语言、艺术、 Cereal 、碗、冷却器、菜鸟 或者类似的东西,请帮忙!
最佳答案
您的类中有一个接受单个节点的方法,只需根据第二个列表的需要多次调用该方法即可:
例如
void addAll(int index, MyList<> second_list)
{
for(Object o : second_list)
{
addList(index, o);
++index;
}
}
除非您的类已经实现了正确的接口(interface),否则上述基于范围的 for 循环可能无法工作,我很懒 - 使用您的类支持的正常迭代...
关于java - 添加链表到链表,JAVA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13420351/