Java 从调用的链表中减去方法中传递的链表

Java 从调用的链表中减去方法中传递的链表,java,methods,linked-list,Java,Methods,Linked List,本质上,这个问题所做的是将链表作为一个参数,如果两者中存在相同的内容,则从调用链表中减去其内容。我必须这样做(所以不改变参数) 例如:l1.subtractList(l2)将从l1中减去l2的内容 这里的问题是,调用的链表有2个相同的号码,并且该号码也作为参数传递到链表中。我只需要删除它的一个实例 除了那个重复的数字,我已经设法减去了所有的东西,但我不确定我做错了什么。请记住,这对我来说是一个非常新的课题,所以我可能有点离题了。但我感谢你所提供的一切帮助。谢谢 public void subt

本质上,这个问题所做的是将链表作为一个参数,如果两者中存在相同的内容,则从调用链表中减去其内容。我必须这样做(所以不改变参数)

例如:l1.subtractList(l2)将从l1中减去l2的内容

这里的问题是,调用的链表有2个相同的号码,并且该号码也作为参数传递到链表中。我只需要删除它的一个实例

除了那个重复的数字,我已经设法减去了所有的东西,但我不确定我做错了什么。请记住,这对我来说是一个非常新的课题,所以我可能有点离题了。但我感谢你所提供的一切帮助。谢谢

 public void subtractList(LinkedList list)
 {
     Node current = head;
     Node<Integer> temp = list.getFirst();
     Integer count = -1;

    while (current != null)
        if (current == temp){
            count++;
            list.listRemove(count);
            temp = list.getFirst();
         }
        else
       {  
        current = current.getNext();    
       }

}
公共列表(LinkedList列表)
{
节点电流=头;
Node temp=list.getFirst();
整数计数=-1;
while(当前!=null)
如果(当前==温度){
计数++;
list.listRemove(计数);
temp=list.getFirst();
}
其他的
{  
current=current.getNext();
}
}

什么是listRemove方法?你为什么要数数?只需遍历参数
list
,并检查其元素
temp
是否存在于调用链接列表中。您将需要一个外部循环遍历作为参数传递的列表,一个内部循环遍历调用列表以检查需要删除的元素的值,并在需要时删除它

while(temp!=null)
{
while(current!=null){
  //Check if element exists in list
  //If yes, remove it from the calling list
}
//Repeat
temp = temp.getNext();
}

什么是listRemove方法?你为什么要数数?只需遍历参数
list
,并检查其元素
temp
是否存在于调用链接列表中。您将需要一个外部循环遍历作为参数传递的列表,一个内部循环遍历调用列表以检查需要删除的元素的值,并在需要时删除它

while(temp!=null)
{
while(current!=null){
  //Check if element exists in list
  //If yes, remove it from the calling list
}
//Repeat
temp = temp.getNext();
}

这是本作业的一种特殊方法。我想出来了,但你的回答帮我做到了!这是这项作业的一个具体方法。我想出来了,但你的回答帮我做到了!谢谢