天天看點

day18-疊代

day18-疊代

A:疊代器概述:

   a:java中提供了很多個集合,它們在存儲元素時,采用的存儲方式不同。

    我們要取出這些集合中的元素,可通過一種通用的擷取方式來完成。

   b:Collection集合元素的通用擷取方式:在取元素之前先要判斷集合中有沒有元素,

  如果有,就把這個元素取出來,繼續在判斷,如果還有就再取出出來。一直把集合中的所有元素全部取出。這種取出方式專業術語稱為疊代。

   c:每種集合的底層的資料結構不同,例如ArrayList是數組,LinkedList底層是連結清單,但是無論使用那種集合,我們都會有判斷是否有元素

     以及取出裡面的元素的動作,那麼Java為我們提供一個疊代器定義了統一的判斷元素和取元素的方法

*A:疊代器的代碼實作

      public class IteratorDemo {

        public static void main(String[] args) {

          Collection<String> coll = new ArrayList<String>();

          coll.add("abc1");

          coll.add("abc2");

          coll.add("abc3");

          coll.add("abc4");

          //疊代器,對集合ArrayList中的元素進行取出

          //調用集合的方法iterator()擷取出,Iterator接口的實作類的對象

          Iterator<String> it = coll.iterator();

          //接口實作類對象,調用方法hasNext()判斷集合中是否有元素

          //boolean b = it.hasNext();

          //System.out.println(b);

          //接口的實作類對象,調用方法next()取出集合中的元素

          //String s = it.next();

          //System.out.println(s);

          //疊代是反複内容,使用循環實作,循環的條件,集合中沒元素, hasNext()傳回了false

          while(it.hasNext()){

            String s = it.next();

            System.out.println(s);

          }

        }

      }

增強for隻能用于周遊 并且不能用于需要索引的數組或集合:

day18-疊代
day18-疊代
day18-疊代