Iterable 和 Iterator 的区别

在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 list = new ArrayList<>();

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

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

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

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


你可能感兴趣的:(【Java集合】)