记得龙哥有个重构的文章里说直接判断啥的。
今天看JDK ArrayList,看到了他的 indexOf,他先判断,后进入循环,看似写了两遍for 循环,但是简单明了暴力。i like it .
public class Test {
public static void main(String[] args) {
}
Object[] elementData;
private int size;
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;
}
public int indexOf1(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;
}
}