ArrayList详解-源码分析 (4)

源码如下所示:

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; }

indexOf方法是返回某元素在ArrayList对象里的下标(索引)。

分析:

区分两种情况

查询元素为null时,使用==运算符进行判断,返回索引

非null元素时,使用equals()方法来判断(ps:由此处调用的equals()方法,可以看出为什么不支持基本类型的元素)

当查询的元素不存在列表中,返回-1

ArrayList中还有很多方法,篇幅有限,在此不再赘述。

6. 总结

ArrayList是开发中用的最多了一个集合类了,很多时候我们只是停留在使用上面,没有深入的去学习,分析,为什么是这样?为什么会这样?有时候遇到问题了,也只能两眼一抹黑,不知道具体原因是什么,多看源码,多学习,提高解决问题的能力,一点点的进步,就好。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgdfpj.html