增强for循环——foreach循环其实就是根据list对象建立的一个iterator迭代器对象,用这个迭代器来遍历list,若要对list进行增删操作,都必须通过iterator。
每次foreach循环的时候都有如下两个操作:
1. iterator.hsaNext(); //判断是否有下一个元素
2. it = iterator.next(): //下个元素是什么并赋值给it
查看Iterator接口,找到ListIterator接口,再找到ArrayList中hasNext()方法和next()方法;
两个方法源码如下:
public boolean hasNext() {
return cursor != size;
}
@SuppressWarnings("unchecked")
public E next() {
checkForComodification();
int i = cursor;
if (i >= size)
throw new NoSuchElementException();
Object[] elementData = ArrayList.this.elementData;
if (i >= el