Java的Iterator(递代器)

一、迭代器简介(Iterator)

       迭代器是一种设计模式,它是一个对象,它可以遍历并选择序列中的对象,而开发人员不需要了解该序列的底层结构。迭代器通常被称为“轻量级”对象,因为创建它的代价小.

       迭代器只能单向移动.

二、重要方法

    (1) 使用方法iterator()要求容器返回一个Iterator。注意iterator()方法是java.lang.Iterable接口,被Collection继承。         

  (2) 使用next()获得序列中的下一个元素。第一次调用Iterator的next()方法时,它返回序列的第一个元素。

  (3) 使用hasNext()检查序列中是否还有元素。

  (4) 使用remove()将迭代器上一次返回的元素删除。

     (5) Iterator是Java迭代器最简单的实现,为List设计的ListIterator具有更多的功能,它可以从两个方向遍历List,也可以从                   List 中插入删除元素。

 

三、递代器使用

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class IteratorDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		List<String> lst4=new ArrayList<String>();
		lst4.add("haha----1");
		lst4.add("hehe----2");
		lst4.add("enen----3");
	
		//容器返回一个Iterator
		Iterator<String> iterator=lst4.iterator();
		//如果存在元素的话返回true
		
		while(iterator.hasNext()==true)
		{
		   System.out.println(iterator.next()); 
			iterator.remove();
			System.out.println(lst4.toString());
		}	
	}
}

四、分析结果

haha----1****************首次iterator.next()输出第一个元素
         ****************进行了一次iterator.remove(),迭代器上一次返回的元素删除,即List中首元素
[hehe----2, enen----3]***打印出List集合中的所有元素,haha已经被删除
hehe----2****************第二次iterator.next()输出原List中第二个元素,因为递代器的位置不会改变
         ****************进行一次iterator.remove(),迭代器上一次返回的元素删除,即List中2号元素
[enen----3]**************打印出List集合中的所有元素,已经hehe被删除
enen----3****************第三次iterator.next()输出原List中第三个元素,因为递代器的位置不会改变
[]       ****************集合为空

 

首次iterator.next()过后

iterator.remove()过后,删除红色方框。

参考资料:

https://www.cnblogs.com/xiaozhaoboke/p/11038893.html

https://blog.csdn.net/lxh123456789asd/article/details/80248418

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值