2008年10月24日

走訪List的方法


 
List的功能非常強大
而且又可以放入所需要的類別所以最近常常出現在程式之中
通常我們都會需要循序把List中的所有資料抓出來處理
這種模式好像可以叫做走訪或者循序訪問
英文大概叫做iterate來著

以下程式示範了三種走訪List的方法
第一個是平常我們常用的for loop
第二個則是使用迭代子Iterator
關於迭代子Iterator的用法可以參考Iterator模式
第三種則是Java 1.5之後才支援的Enhanced for loop
這簡化了我們原本使用for loop的繁複
用法可見Java 1.5 特性 : Enhanced for Loop
最後一小段程式則是示範Enhanced for Loop應用在Array的用法
也就是說Enhanced for Loop不只可以用在List類別上

程式碼:
  1. import java.util.ArrayList;
  2. import java.util.Iterator;
  3.  
  4. public class IteratorDemo {
  5.  
  6. public static void main(String[] args) {
  7.  
  8. ArrayList<String> stringList = new ArrayList<String>();
  9. stringList.add("ant");
  10. stringList.add("bear");
  11. stringList.add("cat");
  12. stringList.add("dog");
  13.  
  14. // 一般使用for loop走訪的方法
  15. for (int i=0; i<stringList.size(); i++) {
  16. System.out.println(stringList.get(i));
  17. }
  18.  
  19. // 使用iterator走訪
  20. Iterator<String> iterator = stringList.iterator();
  21. while (iterator.hasNext()) {
  22. System.out.println(iterator.next());
  23. }
  24.  
  25. // 使用Enhanced for loop
  26. for (String s:stringList) {
  27. System.out.println(s);
  28. }
  29.  
  30. // 使用Enhanced for loop走訪String array
  31. String[] sArray = new String[] {"ant", "beat", "cat", "dog"};
  32. for (String s:sArray) {
  33. System.out.println(s);
  34. }
  35. }
  36. }

上面四個輸出的結果都會是
ant
beat
cat
dog

關鍵字:List, ArrayList, iterator, enhanced for loop, 走訪, 循序訪問

參考資料:
1. Iterator模式
2. Java 1.5 特性 : Enhanced for Loop



更多精選推薦文章

0 意見 :