集合框架--迭代器的使用`

24 篇文章 0 订阅

用一个例子来说明迭代器的使用:

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

public class IteratorDemo
{
	public static void main(String[] args)
	{
		Collection coll=new ArrayList();  //创建一个集合对象,因为Collection是一个接口,所有要new它的一个子类来创建对象,这个子类是随意的
		
		//在集合中添加元素
		coll.add("abc1");
		coll.add("abc2");
		coll.add("abc3");
		coll.add("abc4");

		//使用Collection中的iterator()方法。调用集合中的迭代器方法,是为了获取集合中的迭代器对象
		Iterator it=coll.iterator();  //it是迭代器对象
		
		while(it.hasNext())  //如果仍有元素可以迭代,返回true
		{
			System.out.println(it.next());  //输出迭代的下一个元素
		}
	}
}
运行结果:


这样的代码是正确的,但是it对象在创建后没有被释放,仍然存在内存中,耗费资源,所以我们可以用另一种方式改写代码:

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

public class IteratorDemo
{
	public static void main(String[] args)
	{
		Collection coll=new ArrayList();  //创建一个集合对象,因为Collection是一个接口,所有要new它的一个子类来创建对象,这个子类是随意的
		
		//在集合中添加元素
		coll.add("abc1");
		coll.add("abc2");
		coll.add("abc3");
		coll.add("abc4");

		//使用Collection中的iterator()方法。调用集合中的迭代器方法,是为了获取集合中的迭代器对象
		for(Iterator it=coll.iterator();it.hasNext();)
		{
			System.out.println(it.next());
		}
	}
}

运行结果:


注:迭代器对象(通过内部类实现)必须依赖于具体容器,因为每一个容器的数据结构都不同,所以该迭代器对象是在容器中进行内部实现的。对于容器使用者而言,具体的实现不重要,只要通过容器获取到该实现的迭代器的对象即可,也就是iterator方法。

Iterator接口就是对所有的Collection容器进行元素取出的公共接口。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值