Iterable 和 Iterator 的区别

本文介绍了在Java集合框架中如何使用Iterator和Iterable接口来遍历集合。从JDK5开始,Iterator方法被提升到了Iterable接口中,使得遍历更加灵活方便。通过示例代码展示了如何利用这两种方式遍历List集合。

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

在List、Set、Queue里面都有一个iterator()方法,这个方法在JDK5出现之前,是定义在Collection接口中,而List、Set、Queue都继承自Collecition,所以也都拥有iterator()的方法。iterator()方法会返回java.util.Iterator接口的操作对象,这个对象包括了Collection收集的所有对象,你可以使用Iterator的hasNext()看看有无下一个对象,若有的话,可使用next()取得下一个对象。

在JDK1.5之后,原先定义在Collection中的iterator()方法,提升至新的java.util.Iterable父接口中,Iterable接口中实现了Iterator的iterator()方法

使用Iterator遍历打印list里面的元素

	List<String> list = new ArrayList<>();

	Iterator<String> iterator = list.iterator();
	while (iterator.hasNext())
		System.out.println(iterator.next());

使用Iterable遍历打印list里面的元素

	List<String> list = new ArrayList<>();
	forEach(list);

	static void forEach(Iterable iterable) {
		for (Object o : iterable)
			System.out.println(o);
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值