1.增强型for循环(亦称 foreach 语句)
用于快速遍历集合元素,主要针对数组和实现了Iterable接口的集合类。
格式:for(集合内变量类型 变量名 : 集合名称){...} 。如对一个存储String元素的List进行遍历:
List list=Arrays.asList("cat","dog","pig","monkey");
for(Object obj : list)
{
System.out.println(obj);
}
2.Iterable和Iterator接口
Iterable接口只有一个iterator()方法,实现该接口的有Collection接口,而实现Collection接口的有List、Set、Queue接口,
Iterable接口还产生了Iterator接口。实现List接口的有ArrayList和LinkedList,均以数组Arrays为底层;实现Set接口的有HashSe
t和TreeSet,以HashMap为底层;实现Queue接口的有LinkedList,且衍生出Deque接口,ArrayDeque实现了Deque接口。这使
得Iterable可以成为增强型for循环的操作对象。
Iterator接口有hasNext()方法,检查Iterator是否还有后续元素;Next()方法,返回下一个元素;removed(),从迭代器指向的
Collection中移除迭代器返回的最后一个元素。
用法示范如下:
List list=new ArrayList();
list.add("cat");
list.add("pig");
list.add("monkey");
Iterator iter=list.iterator();
while(iter.hasNext())
{
System.out.println(iter.next().toString());
}
3.结合使用
实现了Iterable接口的以上接口或类都可以使用增强型for循环简单的遍历集合,同时数组也适用。但增强型for循环不可能替代
for循环,因为灵活有限。