目录
集合的四种输出方式:Iterator、ListIterator、Enumeration、foreach,其中Iterator使用的最多。
1、Iterator迭代输出接口(核心)
Iterator是集合输出中最标准的操作接口,开发中首选的就是Iterator,若想取得Iterator示例化对象,观察Iterator接口的定义结构
【举例】:利用Iterator进行迭代输出
List<String> all =new ArrayList<String>();
all.add("hello");
all.add("world");
all.add("nice");
Iterator<String> iterator = all.iterator();
while (iterator.hasNext()){
String s = iterator.next();
System.out.println(s);
}
注意:迭代输出时不能使用集合中的remove()方法,而应使用Iterator的remove方法,否则可以测试下,报错。
2、ListIterator双向迭代输出(了解)
大部分情况下输出操作基本用Iterator,基本只输出一次,若要实现双向迭代,需要使用ListIterator,进行双向迭代操作时,必须先进行由前向后的迭代,再进行由后向前的迭代(因为指针++的设计),了解即可,基本不会用。
List<String> all =new ArrayList<String>();
all.add("hello");
all.add("world");
all.add("nice");
ListIterator<String> iterator = all.listIterator();
while (iterator.hasNext()){
String s = iterator.next();
System.out.println(s);
}
while (iterator.hasPrevious()){
String s = iterator.previous();
System.out.println(s);
}
3、枚举输出:Enumeration
JDK1.0开始提供,其结构定义如下:
Enumeration最早是为Vector服务的,只有Vector提供了实例化Enumeration的方法,elements()。
Vector<String> all =new Vector<>();
all.add("hello");
all.add("world");
all.add("nice");
Enumeration<String> e = all.elements();
while (e.hasMoreElements()){
String s = e.nextElement();
System.out.println(s);
}
4、foreach输出
JDK1.5后提供的foreach输出形式除了可以支持数组输出外,也支持集合集合输出。该输出方法也叫做增强型for循环。
List<String> all =new ArrayList<>();
all.add("hello");
all.add("world");
all.add("nice");
for (String s:all){
System.out.println(s);
}
初学者不建议使用这种方式进行操作。
5、总结
1)集合输出首先想到Iterator接口接口;
2)如果在必须的情况下使用Enumeration接口;