我在 Java 中使用下面的代码从链表中删除重复数据,我的问题是明确设置 current.next = null 对我来说是否是个好主意,即当前将是重复数据,所以我设置了前一个节点的在当前的下一个但要在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;
}
}
}