Array遍歷的小技巧

2021-06-13 13:10:24 字數 684 閱讀 7858

經常有這樣的需求,對陣列類物件進行遍歷,按照條件刪除/增加其中元素,但是如果這樣:

複製**

1

2

3

4

5

for(int i =0,i

或者這樣

複製**

1

2

3

4

5

foreach(object obj in arraylist)

如果在遍歷中刪除或增加了部分元素,就會導致遍歷失敗,因為物件陣列的長度發生了變化,索引隨之而變,遍歷的結果不完整或者引發執行時錯誤。

其實不需要任何複雜的判斷,最簡單的方法是:倒過來遍歷,像這樣:

複製**

1

2

3

4

5

for(int i =arraylist.count -1;i>=0;i--)

這樣保證你操作只影響後方元素的索引,不會影響往前的遍歷。

(來自:聖典的hug **:

程式設計小技巧 遍歷陣列

今天跟大家分享的小技巧是關於陣列遍歷的。通常我們在對陣列進行操作時常常會被陣列的下標越界問題所困擾。當然在c語言中編譯器不會去校驗陣列下標的邊界,也就是說如果你定義了乙個具有5個元素的陣列,正面的操作方式在c語言中是完全合法的 int a 5 a 3 a 2 a 1 a 5 a 6 a 7 但是在其...

Object屬性和Array遍歷

物件object var obj 判斷自身屬性 obj.hasownproperty key 獲取隱式屬性,取代 proto object.getprototypeof obj 獲取屬性集合 object.getownpropertynames obj 自身屬性包含hasownproperty ha...

二叉樹遍歷小技巧

include include include void houxu struct tree root struct node struct node creat int n,char str1,char str2 二叉樹的重建與後續遍歷輸出 root left creat i,str1 1,str...