給定一個像{0, 1, 2, 3, 4} 這樣的基元或物件流,我們如何輕鬆地將其轉換為連續對,如下圖所示?
深入研究解決方案
雖然Java 8 流庫擅長將流劃分為可管理的區塊以進行並行處理,但它對有狀態管道階段提出了挑戰。檢索目前流元素的索引或存取相鄰元素是顯著的限制。
為了規避這些限制,我們經常採用一種涉及利用索引來驅動流的技術。以下是我們如何使用這種方法產生對的一瞥:
程式碼片段:
闡述解決方案:
在這個例子中,我們迭代索引從1 開始的ArrayList,保證對於每個索引i,我們可以訪問arrayList.get(i-1) 和 arrayList.get(i)。程式碼的關鍵是mapToObj函數,它將每個索引轉換為包含相鄰元素的Pair。
限制和擴展:
雖然這種方法對於有限流存儲在隨機存取集合中,它不適用於無限流。但是,管道可以並行執行,從而提供性能優勢。
以上是我們如何從元素流中有效率地產生連續的元素對?的詳細內容。更多資訊請關注PHP中文網其他相關文章!