前言:關於共有3中遍歷輸出方式,很早之前我就想整理,無奈一直沒有抽出時間,分別是傳統的for循環遍歷,迭代器Iterator,foreach,這次我通過測試代碼,測試了一下。
先用一張草圖,大概有個印象:,圖雖然丑了點但是全部是干貨。

這是我的測試代碼,我用的是測試方法寫:
1 package com.mon11.day11; 2 3 import static org.junit.Assert.*; 4 5 import java.util.ArrayList; 6 import java.util.Iterator; 7 import java.util.List; 8 9 import org.junit.Test; 10 11 /** 12 * 類說明 :三種遍歷輸出的理解 13 * @author 作者 : chenyanlong 14 * @version 創建時間:2017年11月11日 15 */ 16 public class Demo1 { 17 18 // 1.傳統的for循環遍歷輸出, 19 @Test 20 public void test1() { 21 System.out.println("1.傳統的for循環遍歷輸出-----------------"); 22 int[] arrays = { 12, 34, 56 }; 23 for (int i = 0; i < arrays.length; i++) { 24 System.out.println(arrays[i]); 25 } 26 } 27 28 // 2.迭代器遍歷輸出Iterator 29 @Test 30 public void test2() { 31 32 List arrays = new ArrayList(); 33 arrays.add("21");// 剛開始我用的是整數類型,一直都不正確,如果換成字符串類型的就正確了 34 arrays.add("43"); 35 arrays.add("65"); 36 37 System.out.println("2.1迭代器用於for循環------------------"); 38 System.out.println("2.1------//這種方式,我一直在思考,到現在還是沒明白------------"); 39 /*Iterator a =null; 40 for (a= arrays.iterator();a.hasNext() ;) { 41 String array1 = (String) a.next(); 42 System.out.println(array1); 43 }*/ 44 45 /*for (Iterator a =arrays.iterator();a.hasNext() ;) {//考慮到for 的語法問題 46 String array1 = (String) a.next(); 47 System.out.println(array1); 48 }*/ 49 Iterator a =arrays.iterator(); 50 for (;a.hasNext() ;) { 51 String array1 = (String) a.next(); 52 System.out.println(array1); 53 } 54 System.out.println("------------------"); 55 56 System.out.println("2.2迭代器用於while循環------------------"); 57 Iterator b = arrays.iterator(); 58 while (b.hasNext()) { 59 String array2 = (String) b.next(); 60 System.out.println(array2); 61 } 62 } 63 64 // 3.foreach循環遍歷輸出, 65 @Test 66 public void test3() { 67 int[] arrays = { 12, 34, 56 }; 68 System.out.println("3.foreach循環遍歷輸出-------------------"); 69 for (int r:arrays) { 70 System.out.println(r); 71 } 72 } 73 }
運行的效果:

