Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.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
从不带.clear()java的链表中删除所有元素_Java_Linked List - Fatal编程技术网

从不带.clear()java的链表中删除所有元素

从不带.clear()java的链表中删除所有元素,java,linked-list,Java,Linked List,我想在不使用clear方法的情况下删除链接列表中的所有元素 这是我目前的代码 //-----inner class----- private static class Node <T> { private T data; //next just points private Node<T> next; //constructs a node public Node(T data, Node<T> next){ this

我想在不使用
clear
方法的情况下删除链接列表中的所有元素

这是我目前的代码

//-----inner class-----
private static class Node <T> { 
  private T data;
  //next just points 
  private Node<T> next; 

  //constructs a node 
  public Node(T data, Node<T> next){ 
     this.data = data; 
     this.next = next; 
  }

  public T getData(){ return data;} 

  public Node<T> getNext(){ return next;}
它应该可以工作,但每次我测试它时,它都说没有任何内容被删除。这只是完整代码的一部分

public void reset() {
     head = null;
 }
(你)

它应该可以工作,但每次我测试它时,它都说没有任何内容被删除。这只是完整代码的一部分

(我的评论)

您删除了对列表第一个元素的引用,因此如果没有引用,则该列表仅存在于JVM的内存中,垃圾收集器将从内存中删除它,但您不会将大小设置为零(size=0;),并且当测试或其他事情发生时,它仍会检查列表,例如“size=6”。另一方面,你有一个功能,就是重置你的列表

public ListNoOrder() {
   this.head = null; 
   size = 0; 
}

所有评论都是用断断续续的英语写的:)

这是
java.util.LinkedList
还是您自己的实现?您的问题文本与您的标题完全相反@杰里米是我自己的implementation@GhostCat我的错误oops@lionbear28让我们看看你是如何决定的。在蝙蝠的右侧,您没有将
size
变量更改为
0
。。。
public void reset() {
     head = null;
 }
public ListNoOrder() {
   this.head = null; 
   size = 0; 
}