如何反轉 Java 流以產生遞減的 IntStream
反轉流是處理 Java 8 流時的常見操作。在這裡,我們探索兩種方法來反轉任何類型的流,並專門解決產生遞減的 IntStream 的挑戰。
一般方法:反轉任何類型的流
要反轉流,無論元素類型如何,可以採用兩種技術:
具體方法:產生遞減的IntStream
產生遞減的IntStream 的具體問題可以透過以下方式解決以下自訂方法:
<code class="java">static IntStream revRange(int from, int to) { return IntStream.range(from, to) .map(i -> to - i + from - 1); }</code>
此技術避免了裝箱和排序操作,從而產生更高效率的代碼。
其他注意事項
以前的這個答案的版本建議使用反向ArrayList。不過由於 ArrayList 前面插入效率低下,所以更新為使用 ArrayDeque 來代替,支援高效的前面插入。
這種方式的輸出是 Deque 而不是 List,但是它可以輕鬆地以現在相反的順序進行迭代或串流。
以上是如何在Java中產生反轉的IntStream?的詳細內容。更多資訊請關注PHP中文網其他相關文章!