java源码
FanJqi
这个作者很懒,什么都没留下…
展开
-
java8 ArrayList源码分析2->迭代器实现遍历
首先迭代器要实现迭代器的接口,Iterator接口中有4个方法: 1.hasNext() 2.next() 3.remove() 4.forEachRemaining(Consumer<? super E> action) 在ArrayList中,内部类Itr实现了Iterator的接口并且重写了这四个方法: 在itr中重新定义了三个参数,cursor(当前index),lastRet(上一个index,初始值-1),expectedModCount(修改次数,初始化的时候等于Arr原创 2020-09-10 13:13:45 · 282 阅读 · 0 评论 -
java8 ArrayList源码分析1->add方法和remove方法
今天在做算法题目的时候,使用到了ArrayList,在获取size想到了一个问题,在使用add操作的时候,ArrayList的源码是怎么实现的,然后我下载 了jdk1.8的源码。 首先,ArrayList的初始容量是10,无论是什么操作,首先会调用最低容量为10。最终的实现是使用了System.arrayopy方法。 如果执行add操作 ,有两种方法可供选择: 1.add(E e)方法,该方法会在ArrayList的尾部插入元素,首先会调用ensureCapacityInternal方法来检查数组的容原创 2020-09-06 12:53:22 · 447 阅读 · 0 评论