簡體   English   中英

什么是番石榴相當於Scala的flatMap?

[英]What is the Guava equivalent of Scala's flatMap?

通過https://github.com/google/guava/wiki/FunctionalExplained查看我看到像transform這樣的操作,它將轉換列表但保持相同的基數。 如何執行導致不同基數的轉換? 例如(偽代碼) List(1,2,3).transform(i => List(i, i)) - > List(1,1,2,2,3,3)

截至13版,有transformAndConcatFluentIterable

我不認為有直接的翻譯,但是concat后面的transform應該是等價的。

Eclipse Collections中collect()相當於Scala的map() ,而flatCollect()相當於Scala的flatMap()

以下是使用Java 8 Lambdas的flatCollect的示例用法。

注意:我是Eclipse Collections的提交者。

但要注意一件事:Scala的map方法返回新的集合,而Guava中的transform()方法返回原始集合的轉換視圖。 這是一個非常微妙的區別。 您需要確定“查看原始集合”是否適合您的上下文。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM