<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                20.3 迭代器模式的應用 我們在例子中使用了迭代器模式后為什么使原本簡單的應用變得復雜起來了呢?那是因為我們在簡單的應用中使用了迭代器,在哪?請看代碼清單20-3,注意這段話:for(IProject project:projectList),它為什么能夠運行起來?還不是因為ArrayList已經實現了iterator()方法,我們才能如此簡單地應用。 從JDK 1.2版本開始增加java.util.Iterator這個接口,并逐步把Iterator應用到各個聚集類(Collection)中,我們來看JDK 1.5的API幫助文件,你會看到有一個叫java.util.Iterable的接口,看看有多少個接口繼承了它:BeanContext,BeanContextServices,BlockingQueue<E>,Collection<E>,List<E>,Queue<E>,Set<E>,SortedSet<E>,再看看有它多少個實現類:AbstractCollection,AbstractList,AbstractQueue,AbstractSequentialList,AbstractSet,ArrayBlockingQueue,ArrayList,AttributeList,BeanContextServicesSupport,BeanContextSupport,ConcurrentLinkedQueue,CopyOnWriteArrayList,CopyOnWriteArraySet,DelayQueue,EnumSet,HashSet,JobStateReasons,LinkedBlockingQueue,LinkedHashSet,LinkedList,PriorityBlockingQueue,PriorityQueue,RoleList,RoleUnresolvedList,Stack,SynchronousQueue,TreeSet,Vector,基本上我們經常使用的類都在這個表中了,也正是因為Java把迭代器模式已經融入到基本API中了,我們才能如此輕松、便捷。 我們再來看看Iterable接口。java.util.Iterable接口只有一個方法:iterator(),也就說,通過iterator()這個方法去遍歷聚集類中的所有方法或屬性,基本上現在所有的高級語言都有Iterator這個接口或者實現,Java已經把迭代器給我們準備好了,我們再去寫迭代器,就有點多余了。所以呀,這個迭代器模式也有點沒落了,基本上很少有項目再獨立寫迭代器了,直接使用Collection下的實現類就可以完美地解決問題。 迭代器現在應用得越來越廣泛了,甚至已經成為一個最基礎的工具。一些大師級人物甚至建議把迭代器模式從23個模式中刪除,為什么呢?就是因為現在它太普通了,已經融入到各個語言和工具中了,比如PHP中你能找到它的身影,Perl也有它的存在,甚至是前臺的頁面技術AJAX也可以有它的出現(如在Struts2中就可以直接使用iterator)。基本上,只要你不是在使用那些古董級(指版本號)的編程語言的話,都不用自己動手寫迭代器。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看