Java(Iterator迭代器、增强for)

一、Iterator接口

1、概念

  Collection集合元素的通用获取方式,在取出元素之前先要判断集合中有没有元素,
如果有,就把这个元素取出来,继续判断有没有,直到把集合中的所有元素全部取出,这种方法叫迭代。

2、常用方法

public boolean hasNext(); //判断集合中还有没有下一个元素,有就返回true;
public E next();//返回迭代的下一个元素

3、迭代器的使用步骤

1、使用集合中的方法iterator()获取迭代器对象实现类对象,使用Iterator接口接收(多态);
    注意:Iterator<E>接口也是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型,迭代器就是什么泛型
2、是同Iterator接口中的方法hasNext()判断还有没有下一个元素;
3、使用Iterator接口中的方法next()取出集合中的下一个元素;
代码实现:
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

public class Test {
    public static void main(String[] args) {
      //创建集合对象
      Collection<String> c = new ArrayList<>();
      //添加元素
              c.add("张三");
              c.add("李四");
              c.add("王五");
              c.add("赵六");
        //1、使用集合中的方法iterator()获取迭代器对象实现类对象,使用Iterator接口接收(多态);
       Iterator<String> it = c.iterator();

       while (it.hasNext()){// 2、是同Iterator接口中的方法hasNext()判断还有没有下一个元素;
           System.out.println(it.next());//3、使用Iterator接口中的方法next()取出集合中的下一个元素;
       }
       /*
       输出结果:
         张三
        李四
        王五
        赵六
        */
    }
}

二、增强for循环

概念

一个高级for循环,专门用来遍历数组和集合;
底层是迭代器;
在遍历的过程中,不能对集合中的元素进行增删操作;

格式

for(集合/数组的类型 变量名 : 集合名/数组名){
  sout(变量名);
  }
posted @ 2021-02-27 15:04  一名初学者  阅读(172)  评论(0)    收藏  举报