ヘッドとテールの2つのインスタンス変数があります。コードには次の行があります。
head = tail = new Node<E>();
これは、クラスNodeのヘッドとテールの2つのインスタンスがあることを意味しますか?私はここでかなり混乱しています。
それは単に意味します:
tail = new Node<E>();
head = tail;
したがって、同じインスタンスを指す2つの参照(head
および)があります。tail
Node<E>
これは、ONE Object への 2 つの参照があることを意味しNode
ます。
この行tail = new Node<E>();
は実際には、割り当てられた値と等しい値 (この場合はオブジェクト参照) を返します。
いいえ、 createdのインスタンスは1 つしかありませんが、両方ともそれを参照しているため、同じオブジェクトを指す 2 つの参照変数があります。Node<E>
head
tail
のインスタンスは1つだけですNode
。head
と参照の両方tail
が同じインスタンスを指しています。
いいえ、そうではありません。
このコードで何が起こっているかを順番に示します。
2つの参照はhead
、両方ともの同じ単一インスタンスにtail
割り当てられます。Node
オブジェクトは 1 つだけ作成され、head と tail の両方が同じオブジェクトを参照します。