Java類集框架(四):集合輸出
阿新 • • 發佈:2018-12-08
集合輸出的4種形式:Iterator輸出、ListIterator輸出、foreach(加強型for迴圈)輸出、Enumeration輸出。
迭代輸出:Iterator
Iterator(迭代器)是集合輸出操作的一個介面,Collection介面中提供了直接為Iterator介面例項化的方法(iterator()),任何集合型別都可以轉換為Iterator介面輸出。
Iterator介面定義的方法
方法 | 型別 | 描述 |
---|---|---|
public boolean hasNext() |
普通 | 判斷是否還有內容 |
public E next() |
普通 | 取出當前內容 |
兩個方法在進行輸出時的使用方法下圖:
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()