JAVA中collection方法的迭代器

本文详细介绍了迭代器的基本概念及其实现方式,包括如何通过hasNext()方法判断集合中是否存在下一个元素,如何通过next()方法获取下一个元素,以及如何正确地在遍历过程中使用remove()方法删除元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

迭代器

collection的iterator()迭代器方法

迭代器一开始指针指向的是第一个元素之前的一个位置(空)

1、hasNext()

判断下一个位置是否还有元素,如果有返回true,但***不会移动指针***

2、next()

指针向下移动一个位置,并返回该位置的元素

//创建一个集合对象
Collection collection = new ArrayList();
//向集合添加元素
collection.add(1);
collection.add("a");
collection.add("我");
collection.add("2");
//获取迭代
Iterator it = collection.iterator();
//判断是否下一个位置是否还有
while (it.hasNext()){
    //往下走,并取出该位置的元素
	System.out.println(it.next());
}

3、remove()

在迭代过程中删除时使用迭代器中的该方法来删除,若是使用collection的remove()方法删除的话不能删除且会出现异常

remove()方法删除的是当前位置的元素,因此不能够在next()方法使用前使用,否则会报错,因为获取的迭代器一开始时指针指向的是第一个元素之前的位置,该位置为空,没有元素,不能进行删除操作

Collection collection04 = new ArrayList();
collection04.add(1);
collection04.add(6);
collection04.add(5);
collection04.add(1);
collection04.add(2);
//获取迭代器
Iterator it = collection04.iterator();
while (it.hasNext()) {
    Object o = it.next();
    System.out.println(o);
    if (o.equals(5)){
        //将当前位置元素删除
        it.remove();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值