Android(Java):總結ArrayList用法

問題:

list remove會報異常 爲什麼會報異常,其實想想也不難發現。
ArrayList底層是數組實現的,假設現在有a[0]=1,a[1]=2,a[2]=3
用for循環遍歷的時候 
for(int i=0;i<list.size();i++){
}
假設遍歷到第二個數  也就是a[1]的時候,刪除了a[1]   ArrayList的底層是將a[1]後面的數向前移動一個位置,由於下標改了  i沒改   這樣就會發生一些問題  所以就出現在遍歷的時候改變整個數組  就乾脆拋異常了

解決方法:

1.倒序刪
2.用迭代器刪
3.用一個臨時的tmpList保存要刪的東東,for完一起removeAll 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章