我是靠谱客的博主 辛勤樱桃,最近开发中收集的这篇文章主要介绍JAVA学习之Itertator迭代器和增强for循环,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、Iterator接口

1、集合有很多种,存储的数据类型不同,那么取出的方式也不同,但是有了迭代器就可以都取出来

2、迭代:即Collection集合元素的通用获取方式。在取元素之前要判断集合中有没有元素,如果有,那就取出来,继续再判断。如果还有就再取出来,一直把集合中的所有元素全部取出。这种取出方式叫做迭代

3、java.util.Iterator接口:迭代器(对集合进行遍历)

有两个常用的方法:

boolean hasNext():如果仍有元素可以迭代,则返回true;判断集合中还有没有下一个元素,有就返回true,没有就返回false;

E next();返回迭代的下一个元素,也就是取出下一个元素

4、Iterator迭代接口中的方法hasNext器是一个接口,无法直接使用,需要使用Iterator的实现类对象,获取实现类的方式比较特殊。 Collection接口中有一个方法叫做Iterator(),这个方法返回的就是迭代器的实现类对象。

5、迭代器的使用步骤:

1、使用集合中的方法Iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)

注意:Iterator<E>接口是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型,迭代器就是什么泛型

2、使用Iterator接口中的方法hasNext判断还有没有下一个元素

3、使用Iterator接口中的方法next取出

二、迭代器的代码实现

package com.company;


import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/**
 * ClassName:DemoIterator
 * Package:java
 * Description:
 *
 * @Date:2020/2/20 19:23
 * @Author:nana
 */
public class Main {
    public static void main(String[] args) {
//        首先就创建一个集合,并添加元素
        Collection<String > coll =new ArrayList<>();
        coll.add("spring");
        coll.add("summer");
        coll.add("fall");
        coll.add("winter");
/*
1、使用集合中的方法Iterator()获取迭代器的实现类对象,使用Iterator接口接收(多态)
注意:Iterator<E>接口是有泛型的,迭代器的泛型跟着集合走,集合是什么泛型,迭代器就是什么泛型
2、使用Iterator接口中的方法hasNext判断还有没有下一个元素
3、使用Iterator接口中的方法next取出
*/
        Iterator<String> a=coll.iterator();
        /*
        由于不知道集合中具体有多少元素,所以不方便使用for循环
        这里利用while循环来输出
        * */
        while(a.hasNext()){
            System.out.println(a.next());
        }

    }
}

三、迭代器的实现原理

获取迭代器的实现类对象,并且会把指针指向集合的索引。hasnext判断集合中还有没有下一个元素,next做两件事情:1、取出下一个元素2、会把指针向后移动一位。

四、增强for循环

1、增强for循环(也成for each循环)是JDK1.5以后出来的一个高级for循环,专门用来遍历数组和集合的,它的内部原理其实是个Iterator迭代器,所以在遍历过程中,不能对集合中的元素进行增删操作。

2、增强for循环:底层使用的也是迭代器,使用for循环的格式,简化了迭代器的书写。

所有的单列集合都可以使用增强for循环

增强for循环就是用来遍历集合和数组

3、格式

for(集合或者是数组的数组类型 变量名:集合名/数组名){

sout(变量名)

}

4、代码演示

package com.company;

import java.util.ArrayList;

/**
 * ClassName:Foreach
 * Package:com.company
 * Description:
 *
 * @Date:2020/2/20 20:00
 * @Author:nana
 */
public class Foreach {
    public static void main(String[] args) {
        demo1();
        demo2();
    }
//使用增强for循环遍历数组
    private static void demo2() {
        int[] arr={1,2,3,4};
        for(int i:arr){
            System.out.println(i);
        }
    }

    //使用增强for循环遍历集合
    private static void demo1() {
        ArrayList<String> list=new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        for(String s:list){
            System.out.println(s);
        }
    }
}

最后

以上就是辛勤樱桃为你收集整理的JAVA学习之Itertator迭代器和增强for循环的全部内容,希望文章能够帮你解决JAVA学习之Itertator迭代器和增强for循环所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部