これは、 Oracle の Web サイトにindexOf()
あるのサンプル実装です。ここでループLinkedList
がどのように機能するかについて少し混乱しています:if
public int indexOf(E e) {
for (ListIterator<E> it = listIterator(); it.hasNext(); )
if (e == null ? it.next() == null : e.equals(it.next()))
return it.previousIndex();
// Element not found
return -1;
}
したがって、ListIterator
オブジェクトはリストの先頭に作成されます。for
反復子がリストの最後に到達するまでループが続き、if
ループはターゲット オブジェクトが見つかるかどうかをチェックします。私が理解していなかった部分は、if
ループがit.next() == null
いつチェックするのはなぜe == null
ですか? 入力 e が null の場合にどのように行われるかを誰かが教えてくれますか?