ArrayList.contains() 方法实现方式

Posted 海蜃天波

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ArrayList.contains() 方法实现方式相关的知识,希望对你有一定的参考价值。

 

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

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

 

Arraylist 的底层是一个数据 

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

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

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

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

 

 这个 equals 方法是 Object 类中的

 

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

 

以上是关于ArrayList.contains() 方法实现方式的主要内容,如果未能解决你的问题,请参考以下文章

Java-ArrayList源码分析

为啥 Eclipse 中会出现重复的方法建议?

使用包含或循环列表之间有啥大区别吗?

如何实现基类的虚方法,并在c#中的覆盖方法中获取基方法实现[重复]

C#关于实现接口,方法重载的问题

是否可以在接口中实现本机方法?