JAVA類集框架筆記(二)
三、集合的輸出
在類集中提供了以下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() + "、");
}
}
}
程式執行結果 :