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迴圈語句的迴圈體如果只有一個語句,則大括號可以省略;如果迴圈體由多個語句組成,就必須要使用大括號(否則將只把第一個語句作為迴圈體,而後面的語句則作為“迴圈體以外”的語句處理)。
相關文章
- Spring迴圈依賴+案例解析Spring
- 【原始碼解析】- ArrayList原始碼解析,絕對詳細原始碼
- Java while和do while迴圈詳解JavaWhile
- Spring6 當中的 Bean 迴圈依賴的詳細處理方案+原始碼解析SpringBean原始碼
- Argo workflow 案例練習和配置詳細解析Go
- Java簡單迴圈語句案例Java
- Java集合詳解(二):ArrayList原理解析Java
- 碎片化學習Java(十六)Java For迴圈案例Java
- 從一個案例,細說瀏覽器的事件迴圈瀏覽器事件
- Flutter for迴圈案例Flutter
- 那些年走過ArrayList迴圈remove的坑REM
- 詳談javascript和node的事件迴圈JavaScript事件
- Java中利用迴圈來實現階乘、99乘法表、水仙花數、成績的接收和迴圈的小遊戲的案例Java遊戲
- Java中Vector和ArrayList的區別Java
- ArrayList分析1-迴圈、擴容、版本
- Java——ArrayList原始碼解析Java原始碼
- nodejs事件和事件迴圈詳解NodeJS事件
- Java迴圈Java
- 在ArrayList的迴圈中刪除元素,會不會出現問題?
- 迴圈中的非同步&&迴圈中的閉包非同步
- 詳細分析連結串列中的遞迴性質(Java 實現)遞迴Java
- 【java】【集合】去除ArrayList中的元素、ArrayList巢狀ArrayListJava巢狀
- 深入理解Java中的反射機制和使用原理!詳細解析invoke方法的執行和使用Java反射
- 簡單理解Java中的4種迴圈Java
- for 迴圈的一些細節
- Kotlin中 until和..的區別(迴圈)Kotlin
- 迴圈(Java篇)Java
- Java中泛型的詳細解析,深入分析泛型的使用方式Java泛型
- 事件迴圈詳解事件
- Java中的集合框架深度解析:從ArrayList到ConcurrentHashMap的效能考量Java框架HashMap
- Java 方法中迴圈呼叫具有事務的方法Java
- Java for迴圈中語句執行的順序Java
- C++ While 和 For 迴圈:流程控制全解析C++While
- Java中的static詳細講解Java
- dnsmasq劫持和dns教程詳細解析DNS
- Java集合之ArrayList原始碼解析Java原始碼
- 用Java中for迴圈語句列印菱形Java
- java中cookie操作詳細JavaCookie
- 註解式專案開發!詳細解析Java中各個註解的作用和使用方式Java