LinkedListから要素を削除する方法を明確にしたいと考えています。このコードが与えられて:インデックスのLinkedListからの要素の削除
public boolean remove(int index)
{
// if the index is out of range, exit
if(index < 1 || index > size())
return false;
Node current = head;
for(int i = 1; i < index; i++)
{
if(current.getNext() == null)
return false;
current = current.getNext();
}
current.setNext(current.getNext().getNext());
listCount--;
return true;
}
私が見ることができますから、このコードは削除する前の要素で終わります。次に、削除するノードの次のノードに「次の」フィールドを割り当てます。私の質問は、削除するノードの '次の'フィールドをnullに割り当てる必要はありませんか?私はちょっと混乱しています。なぜなら、 '次の'フィールドがまだ要素を指しているように見えるので、2つのノードがそれを指しているからです。
ご協力いただければ幸いです。
しかし、この要素はリストからアクセスできなくなります。つまり、リストメソッドを使用すると何も影響しません。 –