增强型的for循环linkedlist_Java: 增强for循环针对list的时候,是严格按照list的顺序依次遍历的吗?...
是的
首先寫一個測試代碼:
`
private void for_Test(){
List list =new ArrayList<>();
list.add(1);
list.add(2);
list.add(3);
for(int i :list){
System.out.println(i);
}
}
`
編譯成字節(jié)碼:
由于主要是看迭代順序所以直接看next方法的代碼,ArrayList的next()方法:
public E next() {
this.checkForComodification();
int var1x = this.cursor;
if (var1x >= SubList.this.size) {
throw new NoSuchElementException();
} else {
Object[] var2x = ArrayList.this.elementData;
if (var2 + var1x >= var2x.length) {
throw new ConcurrentModificationException();
} else {
this.cursor = var1x + 1; //數(shù)組位置加一
return var2x[var2 + (this.lastRet = var1x)];
}
}
}
LinkedList一樣:
public E next() {
checkForComodification();
if (!hasNext())
throw new NoSuchElementException();
lastReturned = next;
next = next.next;
nextIndex++; // 索引加一
return lastReturned.item;
}
其他的話基本應(yīng)該也是差不多的,所以對于常用的這兩個List基本上可以確定是按順序遍歷的
總結(jié)
以上是生活随笔為你收集整理的增强型的for循环linkedlist_Java: 增强for循环针对list的时候,是严格按照list的顺序依次遍历的吗?...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三星s7不能运行java_在调试模式下启
- 下一篇: 方法引用、构造器引用和数组引用