diff --git a/javaSE-day02/src/com/inmind/foreach03/ForEachDemo03.java b/javaSE-day02/src/com/inmind/foreach03/ForEachDemo03.java new file mode 100644 index 0000000..7b69096 --- /dev/null +++ b/javaSE-day02/src/com/inmind/foreach03/ForEachDemo03.java @@ -0,0 +1,61 @@ +package com.inmind.foreach03; + +import java.util.ArrayList; +import java.util.Collection; + +/* +6.增强for循环遍历数组 + + 由于部分集合没有索引,在jdk1.5出现了一个遍历容器的增强for循环的格式,作用就是能够简化迭代器代码 + + foreach循环的格式: + for(数据类型 变量名: 容器){ + 循环体 + } + + 格式中: + 数据类型:容器中存放的数据类型 + 变量名:就是一个标识符,表示容器中的每个元素 + 容器:就是数组和集合 + 循环体:就是java代码 + + 使用场景: + 1.如果要索引,就使用普通for循环 + 2.如果不要索引,就可以使用增强for循环 + + foreach循环其实是一个语法糖,本质不变,但是代码简化.这让程序员像吃了糖一样甜蜜 + + 数组的foreach循环本质是普通for循环. + 集合的foreach循环本质是迭代器iterator. + + */ +public class ForEachDemo03 { + public static void main(String[] args) { + int[] arr = {1, 2, 3}; + //普通for循环,可以操作索引 + for (int i = 0; i < arr.length; i++) { + System.out.println(arr[i]); + System.out.println(i); + } + + + System.out.println("-------------------------------"); + //数组的增强for循环,也叫foreach循环 + int index = 0;//自定义索引 + for(int temp : arr){ + System.out.println(index++); + //循环操作容器中的每个元素 + System.out.println(temp); + } + System.out.println("----------------------"); + Collection lists = new ArrayList<>(); + lists.add("刘备"); + lists.add("关羽"); + lists.add("张飞"); + for (String str : lists) { + System.out.println(str); + } + + + } +} diff --git a/javaSE-day02/src/com/inmind/iterator02/IteratorDemo02.java b/javaSE-day02/src/com/inmind/iterator02/IteratorDemo02.java index d5651b9..152f9c4 100644 --- a/javaSE-day02/src/com/inmind/iterator02/IteratorDemo02.java +++ b/javaSE-day02/src/com/inmind/iterator02/IteratorDemo02.java @@ -29,9 +29,6 @@ public class IteratorDemo02 { lists.add("刘备"); lists.add("关羽"); lists.add("张飞"); - lists.add("张飞"); - lists.add("张飞"); - lists.add("张飞"); //由于当前单列集合没有索引api,只能通过通用性更强的迭代器来遍历 Iterator iterator = lists.iterator();