源码阅读-JDK list(一)

首先查看List接口的上下继承关系。
查看第一个方法:

1.通过其实现类来学习这个方法:

实现类方法很多,首先通过常用的arrayList来学size()方法

arraylist中返回的是这个size属性值
在arraylist发生crud的时候会对这个值进行同步修改。
**1.
**add方法,调用重载的add方法,传入添加的新元素,当前数组引用,当前数组长度,
然后通过grow()方法后添加元素,然后容量 size=s+1,自增。
2.remove(int index)

这个方法并没有改变size的大小,通过fastRemove方法快速删除目标位置上的元素,导致数据上元素类似向前移动,然后把数组的最后一个元素设置为null
查看第二个方法boolean isEmpty()

查看第三个方法boolean contains(Object o);

在arrayList中通过for循环来查询出是否有此元素
查看第四个方法 boolean isEmpty();

查看第五个方法Iterator iterator();
以正确的顺序返回此列表中元素的迭代器。返回一个Itr类
查看第六个方法Object[] toArray();一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无
return (T[]) copyOf(original, newLength, original.getClass());
查看第七个方法boolean add(E e);


arraylist中返回一个新数组,如果添加的元素超出数组返回,就会扩容1.5倍
查看第八个方法boolean remove(Object o);
从此列表中删除第一次出现的指定元素,如果存在*,则将其删除。如果列表不包含元素,则*不变。更正式地,删除具有最低索引的元素

查看第九个方法boolean containsAll(Collection<?> c);

循环遍历集合中的元素,每一个进行比较值。
查看第十个方法boolean addAll(Collection<? extends E> c);

protected transient int modCount = 0;
集合大小改变次数
深入理解JDK List接口:ArrayList实现与方法解析
本文详细探讨了JDK中List接口的实现,重点关注ArrayList类的相关方法,如size()、add()、remove()、isEmpty()、contains()、iterator()、toArray()等。分析了这些方法的实现原理,包括数组扩容、元素添加与删除的过程,并通过源码解析加深了对List操作的理解。

被折叠的 条评论
为什么被折叠?



