在类集中提供了以下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+"、"); //输出内容 } } }