集合的输出
1.Iterator接口
迭代输出时删除元素的注意点
• 正常情况下,一个集合要把内容交给Iterator输出,但
是集合操作中也存在一个remove()方法
• 如果在使用Iterator输出时,集合自己调用了删除方
法,则会出现运行时的错误。
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class IteratorDemo03 {
public static void main(String[] args) {
List<String> all = new ArrayList<String>(); // 实例化List接口
all.add("hello"); // 增加元素
all.add("_"); // 增加元素
all.add("world"); // 增加元素
Iterator<String> iter = all.iterator(); // 直接实例化Iterator接口
while (iter.hasNext()) {
String str = iter.next(); // 取出内容
if ("_".equals(str)) { // 判断内容是否是“_”
all.remove(str); // 删除当前元素,使用集合删除
} else {
System.out.print(str + "、"); // 输出元素内容
}
} System.out.println("\n删除之后的集合:" +all); // 输出集合内容,调用toString()方法
}
}
这样用集合自己的remove方法运行时会报错
2.ListIterator:双向迭代输出
可以进行双向迭代输出,就是可以从前向后输出,也可以从后向前输出
3.foreach:增强for循环
4.Enumeration:废弃的接口