0

私はこのノードクラスを持っていますが、次のノードが実際には次のノードであることをプログラムがどのように認識しているのか疑問に思っていました。そして、なぜそれをnullに割り当てたいのですか? 詳細な説明をいただければ幸いです。

package LinearNode;
import dataobjects.*;


public class Node
{

public Node next;
public AnyClass obj;

public Node(AnyClass newObj)
{
    next = null; 
    obj = newObj;
}

public void show()
{
    System.out.println(obj.getData());
}

public void editNode()
{
    obj.editData();
}

public Node getNext()
{
    return next;
}
}
4

2 に答える 2

1

ノードは通常、リンクされたリストで使用され、null の次のノードを持つノードはリストの最後のノードになります (次のノードがないため)。

ノードの次のノードは、次のようにして初期化するノードになります。

someNode.next = someOtherNode;

フィールドはデフォルトでプライベートにする必要があり、パブリックにすることはほとんどないことに注意してください。メソッドを使用して、オブジェクトの状態を変更します。

于 2013-01-26T17:16:30.960 に答える
0

プログラマーは、選択したデータ構造を適切に組み立てて使用する責任があります。ノードは、リンクされたリストの「次のnext」ノードであると想定されるものの参照を指しますが、Java はそれらを正しくリンクしたかどうかを通知できません。null多くの場合、リストの終わりを表すために使用されます (循環リンクリストとは対照的に、この場合、null の代わりにヘッドポインターとテールポインターを使用できます)。リンクされたリストのデータ構造に関するドキュメントは、ウィキペディアここにもありますが、例は C で書かれています。

于 2013-01-26T17:22:42.373 に答える