前言:关于共有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 }