JAVA的array中indexOf

记得龙哥有个重构的文章里说直接判断啥的。

今天看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;
    }
}