遍歷陣列和集合的三種基本方式

2021-07-03 01:20:51 字數 980 閱讀 3291

遍歷陣列和集合的三種常用方式:

for、foreach、iterator

三者的比較:

1.形式差別 

for的形式是

for(int i=0;i

foreach的形式是

for(int i:arr)

iterator的形式是

iterator it = arr.iterator();

while(it.hasnext())

2.條件差別

for需要知道集合或陣列的大小,而且需要是有序的,不然無法遍歷;

foreach和iterator都不需要知道集合或陣列的大小,他們都是得到集合內的每個元素然後進行處理;

3.多型差別

for和foreach都需要先知道集合的型別,甚至是集合內元素的型別,即需要訪問內部的成員,不能實現態;

iterator是乙個介面型別,他不關心集合或者陣列的型別,而且他還能隨時修改和刪除集合的元素,舉個例子:

public void display(iteratorit)

}

當我們需要遍歷不同的集合時,我們只需要傳遞集合的iterator(如arr.iterator())看懂了吧,這就是iterator的好處,他不包含任何有關他所遍歷的序列的型別資訊,能夠將遍歷序列的操作與序列底層的結構分離。迭代器統一了對容器的訪問方式。這也是介面的解耦的最好體現。

4.用法差別

for迴圈一般用來處理比較簡單的有序的,可預知大小的集合或陣列

foreach可用於遍歷任何集合或陣列,而且操作簡單易懂,他唯一的不好就是需要了解集合內部型別

iterator是最強大的,他可以隨時修改或者刪除集合內部的元素,並且是在不需要知道元素和集合的類   型的情況下進行的(原因可參考第三點:多型差別),當你需要對不同的容器實現同樣的遍歷方式時,迭代器是最好的選擇!

Collection集合的三種遍歷方式

public class testiterator suppresswarnings all test public void test4 for string string arr suppresswarnings all test public void test3 suppresswarnin...

php中三種遍歷陣列的方法

foreach 是乙個用來遍歷陣列中資料的最簡單有效的方法。example1 colors array red blue green yellow foreach colors as color 顯示結果 do you like red?do you like blue?do you like gr...

List陣列的三種遍歷方式

首先,list陣列有三種遍歷方法 1.採用for迴圈依次遍歷出來 2.採用foreach方法遍歷 3.採用list陣列的iterator方法遍歷 廢話不多說,直接上示例 public static void main string args 1.採用for迴圈遍歷 for int i 0 i lis...