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