Arraylist中contains方法底层实现解读
发布日期:2021-05-13 04:11:56 浏览次数:17 分类:博客文章

本文共 2649 字,大约阅读时间需要 8 分钟。

Arraylist���contains���������������������������String���������

public static void main(String[] args) {	List list = new ArrayList();	String a = "aa";	String str = new String("aa");	list.add(a);	System.out.println(list.contains(str));}

���������������

contains���������������������������������������������������������str���

���������������������������������������������String���������������

������������������String������a���Array������������������������contains������������������������str���������aa������

������������������contains���������������������������������

������contains���������������������ArrayList���������List���contains���������������������������������ArrayList������contains������

������ArrayList������contains������������������������str���

public boolean contains(Object o) {    return indexOf(o) >= 0;}

������������contains���������indexOf������������������������������str���������������indexOf���������

public int indexOf(Object o) {						//���������������indexOfRange���������������������������������������"aa",������������0���������������size������������������������������0    return indexOfRange(o, 0, size);}int indexOfRange(Object o, int start, int end) {	//������������������������������������������"aa",���������start���0���������������������������contains���������������������    Object[] es = elementData;						//���ArraysList������������������������������elementData������������������������������������es    if (o == null) {								//o������null���������        for (int i = start; i < end; i++) {            if (es[i] == null) {                return i;            }        }    } else {										//���������������������        for (int i = start; i < end; i++) {			//���������������������������������������            if (o.equals(es[i])) {					//���������������������"aa"���es���i���������������������������i���������������String���equals���������������������������������������������������������������������������������������equals���������������������������������                return i;							//������������������������i������es���������������������������-1���������������i���indexOf            }        }    }    return -1;}
public int indexOf(Object o) {    return indexOfRange(o, 0, size);				//indexOfRange���������i������������������������containsi}
public boolean contains(Object o) {	return indexOf(o) >= 0;							//i������������������0������true}

���������������������������������������������ture������������������������������������������������equals���Object���������������������������������������������������������������������������������������������equals������������������������������������������������

上一篇:HashSet的add添加方法的判读(String类型)
下一篇:HashSet添加操作底层判读(Object类型)

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2025年04月11日 10时16分52秒