我正在研究 ArrayList 实现并找到了 forEachRemaining 方法。这个或者什么时候调用这个方法有什么用?
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
{
//...
//...
private class Itr implements Iterator<E> {
//...
@Override
@SuppressWarnings("unchecked")
public void forEachRemaining(Consumer<? super E> consumer) {
Objects.requireNonNull(consumer);
final int size = ArrayList.this.size;
int i = cursor;
if (i >= size) {
return;
}
final Object[] elementData = ArrayList.this.elementData;
if (i >= elementData.length) {
throw new ConcurrentModificationException();
}
while (i != size && modCount == expectedModCount) {
consumer.accept((E) elementData[i++]);
}
// update once at end of iteration to reduce heap write traffic
cursor = i;
lastRet = i - 1;
checkForComodification();
}
}
}
幕布斯6054654
汪汪一只猫
怎样在ArrayList源码中快速找到WriterObject方法和readobject方法?
arraylist的sort方法和collection的sort方法
Java中的Arraylist
关于java中的ArrayList问题
相关分类