Java Iterator到Java 8 Stream
生活随笔
收集整理的這篇文章主要介紹了
Java Iterator到Java 8 Stream
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
有時在我的工作中,我需要與其他庫集成,這些庫將返回Iterator對象而不是列表。 從庫的角度來看,這很好,但是當您想在返回的迭代器上使用Java 8流時,這可能是個問題。 有一種方法可以將Iterator轉換為Iterable ,然后輕松進行流傳輸。
由于一直以來我都需要記住如何做,因此我決定在這里分享代碼段。
Iterator<JsonValue> iterator = elements.iterator(); Iterable<JsonValue> valueIterable = () -> iterator;List<String> StreamSupport.stream(valueIterable.spliterator(), false).map(element -> element.asString()) .collect(Collectors.toList());在示例中,首先,我們有一個Iterator類。 由于Iterator不能用作流,但是Iterable可以做,因此我們只創建一個新的Iterable類,該類重寫其iterator()方法以返回要流式傳輸的Iterator 。
然后我們有一個Iterable ,它還不能流式傳輸。 因此,我們需要使用StreamSupport類將Iterable轉換為Stream 。
這樣便可以使用所有流操作而沒有任何問題。
我們不斷學習,
亞歷克斯
翻譯自: https://www.javacodegeeks.com/2018/08/java-iterator-stream.html
總結
以上是生活随笔為你收集整理的Java Iterator到Java 8 Stream的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ddl hibernate_Hibern
- 下一篇: 从Java 11中删除的API