ArrayList.contains() 方法实现方式

在看 http://www.cnblogs.com/silence-hust/p/4558701.html 

重写 equals 方法的时候,涉及的方式是判断 对象是否存在于列表中,正好翻一翻源码了解一下

Arraylist 的底层是一个数据 

 这个是构造方法,add 了元素后,size 就是底层数组的长度,也是当前列表的长度

 这个就是 contains 方法,判断元素是否存在于列表中,可以看到其调用了一个 indexOf() 方法。

顾名思义就是查询元素在列表中的位置,用返回的数组下标和0做比较

 看看 indexOf()方法,判断 null ,否则 用 equals 对比元素地址是否为同一引用 

 

 这个 equals 方法是 Object 类中的

 

这就是 contains() 方法的实现过程。

原文地址:https://www.cnblogs.com/cfb513142804/p/7168896.html