在类集中提供了以下4种常见的输出方式。
Iterator:迭代输出,是使用最多的输出方式
ListIterator:是Iterator的子接口,专门用于输出List的内容
Enumeration:是一个旧的接口,功能与Iterator类似
foreach:JDK1.5之后提供的新功能,可以输出数组或者集合
Iterator:迭代输出
碰到集合输出的操作,就一定使用Iterator接口
所谓的迭代输出接口就是将元素一个个进行判断,判断其是否有内容,如果有内容则把内容取出。
<1>实例操作一:输出Collection中的全部内容
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
//=================================================
// File Name : Iterator_demo
//------------------------------------------------------------------------------
// Author : Common
//主类
//Function : Iterator_demo;
public class Iterator_demo {
public static void main(String[] args) {
// TODO 自动生成的方法存根
List<String> all = new ArrayList<String>(); //实例化List接口
all.add("A");
all.add("C");
all.add("D");
all.add("E");
all.add("B");
Iterator<String> iter = all.iterator(); //直接实例化Iterator接口
while(iter.hasNext()){ //依次判断
System.out.println(iter.next()+"、"); //输出内容
}
}
}
<2>实例操作二:使用Iterator删除指定内容
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.SortedSet;
import java.util.TreeSet;
//=================================================
// File Name : Iterator_demo
//------------------------------------------------------------------------------
// Author : Common
//主类
//Function : Iterator_demo;
public class Iterator_demo {
public static void main(String[] args) {
// TODO 自动生成的方法存根
List<String> all = new ArrayList<String>(); //实例化List接口
all.add("A");
all.add("C");
all.add("D");
all.add("E");
all.add("B");
Iterator<String> iter = all.iterator(); //直接实例化Iterator接口
while(iter.hasNext()){ //依次判断
String str = iter.next(); //取出内容
if("A".equals(str)){
iter.remove();
}else{
System.out.println(str+"、"); //输出内容
}
}
}
}
ListIterator:双向迭代输出
ListIterator接口的主要功能是由前向后单向输出,而此时如果想实现有后向前或是由前向后的双向输出,则必须使用Iterator接口的子接口——ListIterator。
<1>进行双向迭代
<2>增加及代替元素
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
//=================================================
// File Name : ListIterator_demo
//------------------------------------------------------------------------------
// Author : Common
//主类
//Function : ListIterator_demo;
public class ListIterator_demo {
public static void main(String[] args) {
// TODO 自动生成的方法存根
List<String> all = new ArrayList<String>(); //实例化List接口
all.add("C");
all.add("D");
all.add("E");
all.add("A");
all.add("B");
ListIterator<String> iter = all.listIterator(); //实例化ListIterator接口
System.out.println("由前向后输出:"); //信息输出
while(iter.hasNext()){ //依次判断
String str = iter.next(); //取出内容
System.out.println(str+"、"); //输出内容
iter.set("LIN-"+str); //替换元素
}
System.out.println("由后向前输出:"); //信息输出
iter.add("TONY"); //增加元素
while(iter.hasPrevious()){ //依次判断
String str = iter.previous(); //取出内容
System.out.println(str+"、"); //输出内容
}
}
}