1. 程式人生 > >Java類集框架(四):集合輸出

Java類集框架(四):集合輸出

集合輸出的4種形式:Iterator輸出、ListIterator輸出、foreach(加強型for迴圈)輸出、Enumeration輸出。

迭代輸出:Iterator

Iterator(迭代器)是集合輸出操作的一個介面,Collection介面中提供了直接為Iterator介面例項化的方法(iterator()),任何集合型別都可以轉換為Iterator介面輸出。

Iterator介面定義的方法

方法 型別 描述
public boolean hasNext() 普通 判斷是否還有內容
public E next() 普通 取出當前內容

兩個方法在進行輸出時的使用方法下圖:
Iterator操作原理

Iterator使用範例

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class IteratorTest {

    public static void main(String[] args) {
        List<String> all = new
ArrayList<>(); //例項化List集合 all.add("Gone"); all.add("with"); all.add("the"); all.add("Wind"); Iterator<String> iter = all.iterator(); //使用Collection介面中提供的方法,例項化Iterator介面 while (iter.hasNext()) { //hasNext()判斷是否有資料 String str = iter.next(); //next()輸出資料
System.out.print(str + " "); } } }

注意:使用Iterator輸出資料時,使用集合類的remove()方法會導致程式中斷執行,故只能利用Iterator介面提供的remove()方法。


雙向迭代:ListIterator

ListIterator屬於Iterator的子介面。

ListIterator介面的常用方法

方法 型別 描述
public boolean hasPrevious() 普通 判斷是否有前一個元素
public E previous 普通 取出前一個元素
public void add(E e) 普通 向集合追加資料
public void set(E e) 普通 修改集合資料

ListIterator介面物件的例項化可以依靠List介面提供的方法:
public ListIterator<E> listIterator()


迭代器的本質就是一個指標的移動操作。


foreach輸出

foreach輸出集合資料的基本語法如下(以控制檯輸出為例):

for(Object item : listName){
    System.out.println(item);
}

Enumeration輸出

Enumeration(列舉輸出)介面只用來完成Vector類集合的輸出操作。此介面定義如下:

public interface Enumeration<E>{
    public boolean hasMoreElements();//判斷是否有下一個元素
    public E nextElement();          //取出當前元素
}

Enumeration介面物件的例項化只在Vector類中有定義:
public Enumeration<E> elements()