这是源代码:
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;
}
为什么没有这个:只有一个循环和 if 语句。
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;
}
第一个片段必须有两个循环,但有人说上面的代码性能很好。为什么?