迭代器的部分解释

迭代器

迭代是指先判断一个列表中是否有元素,若有则取出来,再继续判断,一直到把集合中的所有元素全部取出。迭代器是指一种通用的取出各种集合中元素的方式。Iterator迭代器是一个接口,我们无法直接使用,只能通过它的实现类的对象来使用它。可以通过集合Collection中的Iterator方法来获取迭代器的实现类对象。

迭代器中的方法介绍

  • hasNext( )方法:这个方法的返回值是布尔型,它的作用是判断集合中是否有下一个元素。若有下一个元素则返回true,否则返回false,它的初始索引是-1。

  • next( )方法:取出hasNext( )索引的下一个索引位置的元素,返回值类型为要返回的元素的类型。

示例如下:

package com.pyi.blog;

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

/**
 * @author DELL
 * @ClassName IteratorTest
 * @date 2022/4/28
 * version 1.0
 */
public class IteratorTest {
    public static void main(String[] args) {
        Collection obj=new ArrayList();
        obj.add(1);
        obj.add(2);
        obj.add(3);
        obj.add(4);
        Iterator itr=obj.iterator();//获取迭代器接口的实现类的对象
        while(itr.hasNext()!=false){
            System.out.println(itr.hasNext());
            System.out.println(itr.next());
        }

    }
}

运行结果如下:

在这里插入图片描述

  • remove( ): 从基础集合中移除此迭代器返回的最后一个元素。每次调用next( )时只能调用此方法一次。

示例如下:

当没有调用remove( )方法时,该列表中有四个元素,分别是1,2,3,4。

当调用remove( )方法后:

package com.pyi.blog;

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

/**
 * @author DELL
 * @ClassName IteratorTest
 * @date 2022/4/28
 * version 1.0
 */
public class IteratorTest {
    public static void main(String[] args) {
        Collection obj=new ArrayList();
        obj.add(1);
        obj.add(2);
        obj.add(3);
        obj.add(4);
        Iterator itr=obj.iterator();
        System.out.println(itr.hasNext());
        System.out.println(itr.next());
        itr.remove();
        Iterator itr1= obj.iterator();
        System.out.println(itr.hasNext());
        System.out.println(itr.next());

    }
}

运行结果如下:

在这里插入图片描述

此时,在第一个迭代器运行时,此列表的第一个元素还是1,而调用了remove()方法后,再次迭代时,原来的第一个元素就被删除了,此列表中的第一个元素变为了2。因为调用remove( )方法前,调用的next( )方法返回的最后一个元素是此列表原先的第一个元素(即1)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值