public boolean Contains(Object o) { //此处的o即为contains方法中的参数对象
return indexOf(o) >= 0;//如果数值>=0,则返回true
}
public int indexOf(Object o) {
if (o == null) {
for (int i = 0; i < size; i++)
if (elementData[i]==null)//elementDate[i]:去遍历集合中的元素 一直到找到集合中为null的元素为止(在for循环满足的条件下)
return i;
} else {// o != null时
for (int i = 0; i < size; i++)
if (o.equals(elementData[i]))//o(即contains方法中的参数对象)调用相应的equals()方法
return i;
}
return -1;
}
Contains方法其实底层的原理就是先通过indexof方法去获取元素所在的地址,再通过Equals方法对比,去返回一个地址的索引值。如果匹配到了则可以返回True,否则False