首頁 >Java >java教程 >如何將 Java 流中的連續元素配對?

如何將 Java 流中的連續元素配對?

DDD
DDD原創
2024-11-28 20:26:12160瀏覽

How Can I Pair Consecutive Elements from a Java Stream?

配對流元素

給定一個像{0, 1, 2, 3, 4} 這樣的元素流,如何轉換它分成成對的連續元素(Pair物件)?

答案:

Java 8 流庫專門將流分割成更小的部分以進行並行處理,從而限制其有狀態的管道階段。因此,直接存取相鄰的流元素或取得它們的索引是不可能的。

要克服此限制,請考慮對流元素建立索引並從隨機存取資料結構(如 ArrayList)存取它們。例如,給定值的 ArrayList:

IntStream.range(1, arrayList.size())
             .mapToObj(i -> new Pair(arrayList.get(i-1), arrayList.get(i)))
             .forEach(System.out::println);

此管道建立連續元素對並並行運行。請注意,此解決方案假設輸入流是有限的而不是無限的。

以上是如何將 Java 流中的連續元素配對?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn