我在 Java 中使用下面的代码从链接列表中删除重复数据,我的问题是显式设置 current.next = null 是否是一个好主意,即 current 将是重复数据,所以我设置前一个节点是当前节点的下一个节点,但在java中删除当前节点意味着使其可用于GC。那么,我真的需要明确设置它吗?
public void removeDuplicates()
{
HashSet<Integer> nodeSet = new HashSet<Integer>();
Node previous = this;
Node current = previous;
while(current!=null)
{
if(!nodeSet.contains(current.data))
{
nodeSet.add(current.data);
previous = current;
current = current.next;
}
else
{
previous.next = current.next;
current.next = null;
current = previous.next;
}
}
}
最佳答案
如果您的节点无法访问,那么它的下一个
节点也将无法访问(假设它只有 1 个父节点)
关于java - 在下面的代码中,使当前节点可用于垃圾回收是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11530494/