ヘッダーリンクリストクラスのpeekメソッドを作成しようとしています。ただし、最初の値は返されません。
public E peek () throws NoSuchElementException {
ListNode<E> temp = highest;
ListNode<E> r = temp;
if (temp.next == null) throw new NoSuchElementException();
else r.next = temp.next.next;
return r.next.value;
}
最初の値が返されない理由を理解しています。私のコードelse r.next
では、リスト内の次のノードをすでに指しているからです。したがって、5,4,3,2,1の場合、最初の呼び出しで5ではなく4が返されます。tempは、ヘッダーノードである最上位ノードを指しています。リストの最初の値である5を最初に返すメソッドを取得するにはどうすればよいですか?