迭代器的简化版
使用 for each结构实现集合和数组中元素的遍历 代码简单且方法灵活

概念

  • Java5推出了增强型for循环语句
  • 实现集合和数组中元素的遍历
  • 代码简单且方法灵活

语法格式

  1. for(元素类型 变量名 : 数组/集合名称) {
  2. 循环体;
  3. }
  • 元素类型:数组/集合中的元素/对象的类型
  • 变量名:随便起名称即可
  • 数组/集合名称:要遍历的数组/集合的名称
  • 循环体:对应循环的时候业务逻辑

执行流程

直到把数组中的内容全部取完,则自动结束循环

  • 从数组/集合中取出一个元素赋值给变量名并执行循环体,直到取完所有元素为止
  1. public class CollectionForEachDemo {
  2. public static void main(String[] args) {
  3. Collection c1 = new ArrayList();
  4. c1.add("hello");
  5. c1.add(66);
  6. c1.add(new Person("zhangfei", 30));
  7. //for(元素类型 变量名 : 数组/集合名称) {
  8. for(Object o : c1){
  9. //循环体
  10. System.out.println("取出来的元素是:" + o);
  11. }
  12. }
  13. }

迭代器的简化版,因为是集合和数组,所以我们继续看一下对应数组

  1. int[] array = new int[]{5,6,37,55,89};
  2. for (int i : array){
  3. System.out.println("i:"+i);
  4. i = 44;//局部变量
  5. }
  6. System.out.println("数组打印:"+ Arrays.toString(array));

当对应的i进行修改,对应的array没有进行更改,i修改的只是局部变量

总结:

collection集合里面打印输出的方式有3种:

  • 直接toString打印
  • 迭代器打印
  • forEach打印