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

                # Stream ## 關于流 ### 什么是流? 流是Java8引入的全新概念,它用來處理集合中的數據,暫且可以把它理解為一種高級集合。 眾所周知,集合操作非常麻煩,若要對集合進行篩選、投影,需要寫大量的代碼,而流是以聲明的形式操作集合,它就像SQL語句,我們只需告訴流需要對集合進行什么操作,它就會自動進行操作,并將執行結果交給你,無需我們自己手寫代碼。 因此,流的集合操作對我們來說是透明的,我們只需向流下達命令,它就會自動把我們想要的結果給我們。由于操作過程完全由Java處理,因此它可以根據當前硬件環境選擇最優的方法處理,我們也無需編寫復雜又容易出錯的多線程代碼了。 ### 流的特點 1. 只能遍歷一次 我們可以把流想象成一條流水線,流水線的源頭是我們的數據源(一個集合),數據源中的元素依次被輸送到流水線上,我們可以在流水線上對元素進行各種操作。 一旦元素走到了流水線的另一頭,那么這些元素就被“消費掉了”,我們無法再對這個流進行操作。當然,我們可以從數據源那里再獲得一個新的流重新遍歷一遍。 2. 采用內部迭代方式 若要對集合進行處理,則需我們手寫處理代碼,這就叫做外部迭代。 而要對流進行處理,我們只需告訴流我們需要什么結果,處理過程由流自行完成,這就稱為內部迭代。 ### 流的操作種類 流的操作分為兩種,分別為中間操作和終端操作。 1. 中間操作 當數據源中的數據上了流水線后,這個過程對數據進行的所有操作都稱為“中間操作”。 中間操作仍然會返回一個流對象,因此多個中間操作可以串連起來形成一個流水線。 2. 終端操作 當所有的中間操作完成后,若要將數據從流水線上拿下來,則需要執行終端操作。 終端操作將返回一個執行結果,這就是你想要的數據。 ### 流的操作過程 使用流一共需要三步: 1. 準備一個數據源 2. 執行中間操作 中間操作可以有多個,它們可以串連起來形成流水線。 3. 執行終端操作 執行終端操作后本次流結束,你將獲得一個執行結果。
                  <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>

                              哎呀哎呀视频在线观看