<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>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ### 迭代器模式 定義:提供一種方法訪問一個容器對象中各個元素,而又不暴露該對象的內部細節 迭代器模式的結構 * 抽象迭代器\(Iterator\)角色:此抽象角色定義出遍歷元素所需的接口; * 迭代器實現:實現迭代器接口中定義的方法,完成集合的迭代,并保持迭代過程中的游標位置; * 抽象容器:一般是一個接口,提供一個iterator\(\)方法,例如java中的Collection接口,List接口,Set接口等,均都實現了Iterable接口; * 具體容器:就是抽象容器的具體實現類,比如List接口的有序列表實現ArrayList,List接口的鏈表實現LinkList,Set接口的哈希列表的實現HashSet等; ![](https://img.kancloud.cn/91/58/91584fc7040c99e39a4c292022c98b93_489x372.png) JAVA ArrayList迭代器模式的應用: 抽象迭代器角色:Iterator接口 抽象容器:Iterable接口,定義了iterator\(\)方法用于創建一個Iterator實例 迭代器實現類:ArrayList.Itr是迭代器接口實現類,是ArrayList的內部類 具體容器:ArrayList實現了Iterable接口,提供iterator\(\)方法的具體實現 ### 迭代器模式的優缺點 優點: * 簡化了遍歷方式;無論是數組還是列表,用戶只需要使用迭代器進行遍歷; * 可以提供多種遍歷方式,比如說對有序列表,我們可以根據需要提供正序遍歷,倒序遍歷兩種迭代器; * 封裝性良好,用戶只需要得到迭代器就可以遍歷,不需要關注其迭代的內部實現; 缺點:對于比較簡單的遍歷(像數組或者有序列表),使用迭代器方式遍歷較為繁瑣,大家可能都有感覺,像ArrayList,我們寧可愿意使用for循環和get方法來遍歷集合 ### 迭代器的應用場景 迭代器模式是與集合共生共死的,一般來說我們只要實現一個集合,就需要同時提供這個集合的迭代器,就像java中的Collection,List、Set、Map等,這些集合都有自己的迭代器
                  <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>

                              哎呀哎呀视频在线观看