java中for迴圈和ArrayList的詳細解析案例
/**
先看下面的程式碼:
*
*/
package com.mischen.cn;
import java.util.ArrayList;
import java.util.List;
/**
* @author mischen
*
*/
public class Test2 {
public static void main(String args[]){
List<String> list=new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
for(int i=0;i<list.size();i++)
list.remove(i);
for(int i=0;i<list.size();i++)
System.out.print(list.get(i)+",");//2,4,
}
}
最後程式輸出的是2,4, 這是因為使用ArrayList的時候,由於每次去移除一個元素,所以就導致後面的每一個元素向前移一位,0以前的值是1,移除以後就沒有了,此時0下標的集合這個數依然存在,此時[0]=‘2’,[1]='3',[2]='4'了,當執行迴圈再移動的時候,此時i變成1了,當移除以後,由後面的4來填充前面的[2]了。所以最後輸出2,4,
值得注意的是:
for迴圈語句的迴圈體如果只有一個語句,則大括號可以省略;如果迴圈體由多個語句組成,就必須要使用大括號(否則將只把第一個語句作為迴圈體,而後面的語句則作為“迴圈體以外”的語句處理)。
相關文章
- 【原始碼解析】- ArrayList原始碼解析,絕對詳細原始碼
- Java while和do while迴圈詳解JavaWhile
- Argo workflow 案例練習和配置詳細解析Go
- Spring6 當中的 Bean 迴圈依賴的詳細處理方案+原始碼解析SpringBean原始碼
- Java簡單迴圈語句案例Java
- 碎片化學習Java(十六)Java For迴圈案例Java
- Flutter for迴圈案例Flutter
- 從一個案例,細說瀏覽器的事件迴圈瀏覽器事件
- Java for迴圈的幾種用法詳解Java
- Java集合詳解(二):ArrayList原理解析Java
- 那些年走過ArrayList迴圈remove的坑REM
- Java中利用迴圈來實現階乘、99乘法表、水仙花數、成績的接收和迴圈的小遊戲的案例Java遊戲
- 詳談javascript和node的事件迴圈JavaScript事件
- ArrayList分析1-迴圈、擴容、版本
- Java中Vector和ArrayList的區別Java
- 迴圈中的非同步&&迴圈中的閉包非同步
- Java中Vector與ArrayList的區別詳解Java
- 在ArrayList的迴圈中刪除元素,會不會出現問題?
- Java迴圈Java
- Java——ArrayList原始碼解析Java原始碼
- 關於面試題“ArrayList迴圈remove()要用Iterator”的研究面試題REM
- PLSQL Language Referenc-FOR迴圈-FOR迴圈中的EXIT WHEN和CONTINUE WHENSQL
- 詳細分析連結串列中的遞迴性質(Java 實現)遞迴Java
- 簡單理解Java中的4種迴圈Java
- 【java】【集合】去除ArrayList中的元素、ArrayList巢狀ArrayListJava巢狀
- nodejs事件和事件迴圈詳解NodeJS事件
- ArrayList-Linked-Set的迴圈中刪除資料的錯誤顯示
- ArrayList和LinkedList的幾種迴圈遍歷方式及效能對比分析
- 深入解析 ES6:Iterator 和 for-of 迴圈
- 深入理解Java中的反射機制和使用原理!詳細解析invoke方法的執行和使用Java反射
- 事件迴圈詳解事件
- Java中ArrayList和LinkedList區別Java
- == 和 === 操作符詳細解析
- 用Java中for迴圈語句列印菱形Java
- Kotlin中 until和..的區別(迴圈)Kotlin
- JavaScript 中 for in 迴圈和陣列的問題JavaScript陣列
- Java for迴圈中語句執行的順序Java
- Java學習中迴圈語句的學習Java