リンクリストのすべてのノードを削除して、このコードピースで削除することはできますか?そうでない場合、どのようにしてすべてのノードを一度に削除することができますか?
私のコードは
EditNode mynode=start;
while(mynode!=null){
mynode.editnext=null;
mynode=mynode.editnext;
}
ヘルプが必要です!前もって感謝します...
リンクリストのすべてのノードを削除して、このコードピースで削除することはできますか?そうでない場合、どのようにしてすべてのノードを一度に削除することができますか?
私のコードは
EditNode mynode=start;
while(mynode!=null){
mynode.editnext=null;
mynode=mynode.editnext;
}
ヘルプが必要です!前もって感謝します...
mynode.editnext
コードを設定しnull
て参照しようとしているため、コードは機能しません。だからそれはうまくいきません。
リンクリスト内のすべてのノードを削除するには、Javaでヘッドポインタをクリアするだけです。Javaは残りをガベージコレクションします。
start = null;
この回答は、カスタムリンクリストを対象としていることに注意してください。本番環境では、メソッドLinkedList
を持つのJava実装を使用する必要があります。.clear()
これは、リストを処理するためのはるかにクリーンな方法です。
これは、リスト内のアイテムを指す迷いポインターがある可能性があるためです。これにより、リストの残りの部分への参照が保持され、ガベージコレクションが防止されます。editnext
プロパティのような組織構造をデータ構造に組み込むべきではありません。それらは別々のクラスである必要があります。
各ノードのすべてのポインターをクリアするには、次のコードを使用します。
EditNode mynode;
while (start != null){
mynode = start.editnext;
start.editnext = null;
start = mynode;
}
LinkedListのclear()メソッドを確認しましたか?
public void clear()
-このリストからすべての要素を削除します。この呼び出しが戻った後、リストは空になります。