ソースコードは次のとおりです。
public int indexOf(Object o) {
if (o == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)
return i;
} else {
for (int i = 0; i < size; i++)
if (o.equals(elementData[i]))
return i;
}
}
return -1;
}
これを 1 つにしない理由: ループと if ステートメントは 1 つだけです。
public int indexOf(Object o) {
for (int i = 0; i < size; i++){
if (o == null) {
if (elementData[i]==null)
return i;
else {
if (o.equals(elementData[i]))
return i;
}
}
return -1;
}
最初のスニペットには 2 つのループが必要ですが、上記のコードのパフォーマンスは優れていると言う人もいます。なんで?