shaoshuai888

增强for、iterator迭代器

因为初学java,对部分语法还模棱两可,

在做练习的时候,用增强for遍历字符串编译报错

所以来复习下增强for原理和适用范围

一.增强for概念

  增强for(也成为for each循环)是JDK 1.5以后出来的一个高级for循环,

  专门用来遍历数组和集合的,内部原理是iterator迭代器,所以遍历时,不能对集合中元素增删

  遍历数组代码演示:

    

int[] arr = {3,5,6,87};
//使用增强for遍历数组
for(int a : arr){//a代表数组中的每个元素
System.out.println(a);

   代码放在test类中运行遍历出数组内元素

  遍历集合代码演示:  

Collection<String> coll = new ArrayList<String>();
coll.add("小河神");
coll.add("老河神");
coll.add("神婆");
for(String s :coll){
    System.out.println(s);//变量S,表示被遍历到的集合内部的元素
}

   代码放在test类中运行遍历出集合内各个元素

二.Iterator接口

  1.增强for循环内部使用的是iterator,所以来了解下Iterator

    Iterator主要用于迭代访问(即遍历) Collection中的元素,因此Iterator对象也被称为迭代器

  2.要向遍历集合,先要获取迭代器对象,获取迭代器方法:

    public Iterator iterator():  获取集合对应的迭代器,用来遍历集合

    

Collection<String> coll = new ArrayList<String>();
// 添加元素到集合
coll.add("串串星人");
coll.add("吐槽星人");
coll.add("汪星人");
//使用迭代器 遍历 每个集合对象都有自己的迭代器 Iterator<String> it = coll.iterator();
while(it.hasNext()){  //判断是否有迭代元素
  String s = it.next();  //获取迭代出的元素
  Syetem.out.println(s);
}

 迭代器的实现原理:

  1.通过集合 coll 调用iterator()方法获得迭代器对象; 

  2.使用hashNext()方法盘算集合中是否存在下一个元素;

  3.如果存在,调用next()方法将元素取出,否则说明已经到达了集合末尾,停止遍历元素

 

posted on 2018-09-01 10:50  shaoshuai888  阅读(159)  评论(0编辑  收藏  举报

导航