三、集合的输出
在类集中提供了以下4种常见的输出方式 :
(1)Iterator : 迭代输出,是使用最多的输出方式
(2)ListIterator:是 Iterator的子接口,专门用于输出List中的内容
(3)foreach:JDK 1.5之后提供的新功能,可以输出数组或集合
(4)Enumeration :一个旧的接口,与Iterator功能类似
说明:4种方式以 Iterator 接口为标准输出形式,使用最广泛。
(一)、迭代输出 Iterator
输出 Collection集合中的全部内容,代码如下 :
import java.util.ArrayList;
import java.util.List;
import java.util.Iterator;
public class IteratorDemo{
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()){ //依次判断
System.out.print(iter.next() + "、"); //输出内容
}
}
}
程序运行结果 :
(二)、双向迭代输出 ListIterator
Iterator接口的主要功能是 由前向后 单向输出,如果想实现 由后向前 或 由前向后 的双向输出,就可以使用 Iterator 的子接口------ListIterator
进行双向迭代,代码如下 :
import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;
public class ListIteratorDemo{
public static void main(String[] args){
List<String> all = new ArrayList<String>(); //实例化List接口
all.add("hello"); //增加元素
all.add("_"); //增加元素
all.add("world"); //增加元素
ListIterator<String> iter = all.listIterator(); //实例化Iterator接口
System.out.print("由前向后输出 :");
while(iter.hasNext()){ //依次判断
String str = iter.next();
System.out.print(str + "、"); //输出内容
}
System.out.print("\n\n由后向前输出 :");
while(iter.hasPrevious()){
String str = iter.previous();
System.out.print(str + "、");
}
}
}
程序运行结果 :
(三)、Java新支持 foreach
foreach 的输出格式 :
for(类 对象 :集合) {
//集合操作
}
使用 foreach 输出,代码如下 :
import java.util.ArrayList;
import java.util.List;
public class ForeachDemo{
public static void main(String[] args){
List<String> all = new ArrayList<String>(); //实例化LIst接口
all.add("hello"); //增加元素
all.add("_"); //增加元素
all.add("world"); //增加元素
for(String str : all){
System.out.print(str + "、");
}
}
}
程序运行结果 :
(四)、旧接口 Enumeration
Enumeration接口和Vector接口在JDK 1.0时就存在了,两个类的使用与现在常用的Iterator和List非常类似。首先使用Vector类的 elements()方法为Enumeration接口实例化,然后使用 hasMoreElements()方法迭代判断并通过 nextElement()方法取出每一个元素。代码如下 :
import java.util.Enumeration;
import java.util.Vector;
public class EnumerationDemo{
public static void main(String[] args){
Vector<String> all = new Vector<String>(); //只能使用Vector
all.add("hello");
all.add("_");
all.add("world");
Enumeration<String> enu = all.elements(); //实例化Enumeration
while(enu.hasMoreElements()){
System.out.print(enu.nextElement() + "、");
}
}
}
程序运行结果 :